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

时间:2018-03-29 09:11:28

标签: cassandra cassandra-3.0

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

1 个答案:

答案 0 :(得分:7)

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

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

总的来说,您应该跨多个物理服务器运行Cassandra集群,您可以对Cassandra进行dockerize,但每个容器只运行一个Cassandra服务(设置MAX_HEAP_SIZE和HEAP_NEWSIZE以控制内存使用情况),每个服务器运行一个容器。每秒100万次写入量不小。您将需要大量服务器来实现吞吐量。根据您的复制因素,一致性级别,插入的大小以及服务器的大小,您可以查看10或100个服务器...