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
Nosql Cassandra集群中种子节点的工作原理_Nosql_Cassandra_Cloud_Cluster Computing - Fatal编程技术网

Nosql Cassandra集群中种子节点的工作原理

Nosql Cassandra集群中种子节点的工作原理,nosql,cassandra,cloud,cluster-computing,Nosql,Cassandra,Cloud,Cluster Computing,我的理解是: 种子节点维护集群中的所有节点列表。 假设我们必须向集群添加一个新节点,我们必须在种子服务器的种子列表中输入新节点名称,然后新节点将成为环的一部分 我假设我们不必提及对等节点中的种子服务器 如果我的理解不正确,请纠正我 我读了一些“种子节点”中的故障不会导致任何问题的文章。假设种子节点崩溃,如何维护环信息?相反:在新节点的配置中,您指向另一个已存在的节点作为种子提供程序。种子提供程序是加入群集的新节点的初始接触点。节点加入集群后,它会记住拓扑,不再需要种子提供程序 从: 注:种子节点

我的理解是:

种子节点维护集群中的所有节点列表。 假设我们必须向集群添加一个新节点,我们必须在种子服务器的种子列表中输入新节点名称,然后新节点将成为环的一部分

我假设我们不必提及对等节点中的种子服务器

如果我的理解不正确,请纠正我


我读了一些“种子节点”中的故障不会导致任何问题的文章。假设种子节点崩溃,如何维护环信息?

相反:在新节点的配置中,您指向另一个已存在的节点作为种子提供程序。种子提供程序是加入群集的新节点的初始接触点。节点加入集群后,它会记住拓扑,不再需要种子提供程序

从:

注:种子节点名称的用途仅限于 为加入集群的新节点引导gossip进程。 种子节点不是单点故障,也没有任何故障 除引导之外的群集操作中的其他特殊用途 节点数


我想澄清一下,因为这些文件中的引用很旧,而且从来都不精确

即使在引导之后,种子节点仍然在八卦中发挥作用。

如果有一个种子节点发生故障,则不会产生额外的影响。但是,如果需要替换种子节点,则应遵循

细节: 除了帮助新节点引导外,种子节点还用于防止集群中的大脑分裂。当节点与已经从最近的八卦操作中获得其他节点信息的节点握手时,节点会发现其他节点

Gossip.run()每秒钟都在发生。在一次闲聊运行中,一个节点将与一个随机活动节点、一个随机死亡节点(如果有的话)以及一个随机种子节点(如果该随机节点不是种子)握手,这也是基于某种概率的。随着种子节点列表的增加,与之握手的节点越多。因此,与种子节点列表握手的概率频率将随着种子节点比例的增加而增加

然而,如上所述,只有在种子节点上没有发生步骤1时,才会发生步骤3。因此,必须执行步骤3的概率随着添加的种子而增加,在节点有一半是种子时达到最大值(.25次机会),然后再次降低

建议每个DC保留3个种子节点不要将所有节点添加为种子节点