cassandra - 我可以在 docker 容器中运行多少个 cassandra 节点?

标签 cassandra cassandra-3.0

我在 docker 容器中运行 cassandra。该容器具有 12GB 的最大 RAM 和 8 核 CPU。我对 cassandra 术语相当陌生。我想知道我是否可以在一个容器中运行多个 cassandra 节点。如果是,那么我可以运行多少个?我在类似问题的答案中阅读了它,但这对我来说并不清楚。我的目标是使用 cassandra 实现每秒 100 万次的写入吞吐量。我应该为此构建多少个节点、集群,是否可以在一台机器上构建所有这些?

最佳答案

在同一个 docker 容器中运行多个 Cassandra 进程是不可取的。

  • 从网络的角度来看,它们都将拥有相同的 IP,即 将使其难以配置。
  • 从性能的角度来看,您不会取得更高的成绩 吞吐量,因为您的容器需要共享 CPU、RAM 和 IO。您可以通过设置 MAX_HEAP_SIZE (和 HEAP_NEWSIZE) 在你的 cassandra 进程中分割你的 12GB,但是 它们都将竞争相同的 CPU 和 IO 可用。您最好在容器中只运行一个 Cassandra 服务。
  • 从功能的角度来看,您无法实现高可用性, 线性可扩展性,这是许多公司选择 Cassandra 的重要原因。

总体而言,您应该在多个物理服务器上运行 Cassandra 集群,您可以对 Cassandra 进行 docker 化,但只需为每个容器运行一个 Cassandra 服务(设置 MAX_HEAP_SIZE 和 HEAP_NEWSIZE 以控制内存使用),并且每个服务器运行一个容器。每秒一百万次写入并不小。您将需要大量服务器来实现该吞吐量。根据您的复制因子、一致性级别、插入的大小和服务器的大小,您可能会查看 10 或 100 台服务器...

关于cassandra - 我可以在 docker 容器中运行多少个 cassandra 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552103/

相关文章:

heroku - Cassandra Astra 安全部署到 heroku

amazon-web-services - 适用于 AWS 区域的 Cassandra Ec2MultiRegionSnitch 或 GossipingPropertyFileSnitch

cassandra - 如何在 CQL 中对日期时间进行算术运算

java - 如何使用 Cassandra Java 驱动程序访问带有嵌套映射的列表

cassandra - ttl 在 cassandra 创建墓碑

replication - R + W > N 对 Cassandra 集群有什么影响?

solr - 删除Cassandra集群中的海量数据

cassandra - 'google Kubernetes standard disks'对Cassandra足够快了吗?

Cassandra宽行/动态列

cassandra - 如何使用键空间禁用 Cassandra 复制