我正在尝试构建具有10个节点的Apache cassandra(3.11.4)集群。 我想了解,将所有节点保留为种子节点与仅保留少数节点作为种子之间有什么区别。
我在Apache cassandra上没有发现太多有关种子节点的信息。
我只有一个数据中心,考虑到这些因素,将来我可能会要求增加或减少集群中的节点数量, 请建议我是否需要为群集保留几个种子节点。
答案 0 :(得分:2)
您必须了解,种子节点没有什么特别的,只是您希望在将节点添加到集群后出现它们时,它们中的一个总是可访问的,以便它们可以将集群拓扑传播到新加入的节点。 / p>
因此,如果您有10个节点的集群,则不必在种子节点表中拥有所有10个节点,而只能将3个或4个配置为种子节点。
当新节点想要加入集群时,它将尝试从cassandra.yaml
到达种子节点,以发现是否已经在运行集群。如果一个种子节点可访问,它将从其中检索群集拓扑并加入群集。
随后的重新启动使用以前的拓扑信息,因此即使所有种子节点都已关闭,重新启动/操作群集也不会受到影响。
您只想一直保持一个以上的种子节点,否则,如果所有种子节点都处于关闭状态,则无法将新节点添加到集群中。因此,请确保将您的种子节点分布在各个可用区域/机架中。