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

问题描述 投票:2回答:1

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

cassandra cassandra-3.0
1个回答
8
投票

在同一个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台服务器...

© www.soinside.com 2019 - 2024. All rights reserved.