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

Roh*_*nil 3 cassandra cassandra-3.0

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

Chr*_*itz 8

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

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

总体而言,你应该运行在多个物理服务器的卡桑德拉集群,可以dockerize卡桑德拉,但只运行每个集装箱单卡桑德拉服务(设置MAX_HEAP_SIZE和HEAP_NEWSIZE控制内存的使用),并且每个服务器的单个容器.每秒100万次写入量不小.您将需要大量服务器来实现吞吐量.根据您的复制因素,一致性级别,插入的大小以及服务器的大小,您可能会看到10或100的服务器...