【发布时间】:2019-09-28 04:55:20
【问题描述】:
我正在尝试构建一个具有 10 个节点的 Apache cassandra(3.11.4) 集群。 我想了解,将所有节点保留为种子节点与仅保留少数节点作为种子有什么区别。
我在 Apache cassandra 上没有找到太多关于种子节点的信息。
我只有一个数据中心,考虑到这些因素,将来我可能会要求增加或减少集群中的节点数量, 请建议我是否需要为集群保留多少个种子节点。
【问题讨论】:
标签: cassandra
我正在尝试构建一个具有 10 个节点的 Apache cassandra(3.11.4) 集群。 我想了解,将所有节点保留为种子节点与仅保留少数节点作为种子有什么区别。
我在 Apache cassandra 上没有找到太多关于种子节点的信息。
我只有一个数据中心,考虑到这些因素,将来我可能会要求增加或减少集群中的节点数量, 请建议我是否需要为集群保留多少个种子节点。
【问题讨论】:
标签: cassandra
您必须了解种子节点并没有什么特别之处,只是您希望其中一个节点在添加到集群后出现时始终可访问,以便它们可以将集群拓扑传播到新加入的节点。
因此,如果您有一个由 10 个节点组成的集群,则不必将所有 10 个节点都放在种子节点表中,而是只能将 3 或 4 个配置为种子节点。
当一个新节点想要加入集群时,它会尝试从它的cassandra.yaml 到达种子节点,以发现是否有一个已经在运行的集群。如果一个种子节点可达,它将从中检索集群拓扑并加入集群。
后续重启使用之前的拓扑信息,因此即使所有种子节点都关闭,重启/操作集群也不会受到影响。
您只想始终拥有多个种子节点,否则如果所有种子节点都关闭,您将无法向集群添加新节点。因此,请确保将种子节点分布在可用区/机架中。
【讨论】: