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

我可以在docker容器中运行多少cassandra节点?,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我让卡桑德拉在docker容器中运行。该容器的最大RAM为12GB,CPU为8核。我对卡桑德拉的术语相当陌生。我想知道是否可以在一个容器中运行cassandra的多个节点。如果是,那么我可以跑多少?我在类似问题的答案中读到了,但我并不清楚。我的目标是使用cassandra实现每秒100万次的写入吞吐量。我应该为此构建多少个节点和集群,是否可以在一台机器上构建所有节点和集群?在同一个docker容器中运行多个Cassandra进程是不可取的 从网络的角度来看,它们都具有相同的IP,即 这将使配置

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

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

  • 从网络的角度来看,它们都具有相同的IP,即 这将使配置变得困难
  • 从性能角度来看,您不会获得更高的性能 吞吐量,因为您的容器需要共享CPU、RAM和 木卫一。您可以通过设置MAX_HEAP_SIZE(和 HEAP_NEWSIZE)在cassandra进程中拆分12GB,但 它们都将争夺相同的可用CPU和IO。您最好只在容器中运行一个Cassandra服务
  • 从功能的角度来看,您无法实现高可用性, 线性可扩展性是许多公司选择Cassandra的重要原因
总体而言,您应该跨多个物理服务器运行Cassandra群集,您可以对Cassandra进行dockerize,但只需为每个容器运行一个Cassandra服务(设置最大堆大小和堆新闻大小以控制内存使用),并为每个服务器运行一个容器。每秒100万次的写入量并不小。您将需要大量的服务器来实现这一吞吐量。根据您的复制系数、一致性级别、插入的大小和服务器的大小,您可能会看到10或100台服务器