Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将所有cassandra节点设置为种子?_Cassandra - Fatal编程技术网

是否可以将所有cassandra节点设置为种子?

是否可以将所有cassandra节点设置为种子?,cassandra,Cassandra,我感兴趣的是加快集群引导和添加/删除节点的过程(当然,在删除节点的情况下,大部分时间将花费在耗尽节点上)。我在源代码中看到,作为种子的节点没有引导,因此在等待流言稳定时不会睡眠30秒。因此,如果所有节点都声明为种子,那么创建集群的过程将加快30秒。我的问题是这样行吗?这有什么坏处?cassandra中是否有一个隐藏的要求,要求我们至少有一个非种子节点来执行引导(如以下答案中所建议的)?我知道我可以通过修改/etc/cassandra/cassandra env.sh来缩短RING\u延迟,但如果

我感兴趣的是加快集群引导和添加/删除节点的过程(当然,在删除节点的情况下,大部分时间将花费在耗尽节点上)。我在源代码中看到,作为种子的节点没有引导,因此在等待流言稳定时不会睡眠30秒。因此,如果所有节点都声明为种子,那么创建集群的过程将加快30秒。我的问题是这样行吗?这有什么坏处?cassandra中是否有一个隐藏的要求,要求我们至少有一个非种子节点来执行引导(如以下答案中所建议的)?我知道我可以通过修改
/etc/cassandra/cassandra env.sh
来缩短
RING\u延迟
,但如果简单地将所有节点设置为种子会更好或更快,那可能会更好。(直观地说,将所有节点设置为种子肯定有一个缺点,因为它似乎严格地提高了启动时间。)

好问题。不建议将所有节点设置为种子。您需要新节点和在下降后出现的节点来自动迁移正确的数据。自举可以做到这一点。初始化没有数据的新群集时,请关闭引导。为了数据一致性,需要在其他时间启用引导。Cassandra 2.1中添加了一个新的启动选项-Dcassandra.auto_bootstrap=false:您可以使用选项启动Cassandra,使auto_bootstrap=false暂时生效,直到节点关闭。当节点返回时,默认的auto_bootstrap=true将重新生效。在创建集群之后,人们不太可能无限期地进行无引导操作——无需在每个节点上来回配置yaml

在多个数据中心集群中,种子列表应至少包括每个数据中心的一个节点。要防止八卦通信中出现分区,请在群集中的所有节点中使用相同的种子节点列表。这在节点第一次启动时非常关键

这些建议在2.1 Cassandra文档的多个不同页面中提到: