有没有理由让所有Cassandra节点都在种子节点列表中?
我们正致力于Cassandra的自动部署,因此可以轻松维护应该在群集中的每个节点的列表,并将其作为种子节点列表分发到所有现有节点,并且全新启动时的节点。
我能找到的所有文档都建议使用最少数量的种子,但并不能说明如果所有节点都是种子会发生什么。有人提到种子在八卦协议中是首选,但目前尚不清楚如果所有节点都是种子会产生什么后果。
答案 0 :(得分:2)
据我所知,没有理由将列表中的所有节点都作为种子。我将在下面发布一些文档链接给你一些背景阅读,但总结一下;种子节点主要用于自举。一旦节点运行,它将维护一个节点列表,它已经为后续启动建立了八卦。
太多的唯一缺点是如果它们是种子节点,替换节点的过程略有不同:
http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_replace_seed_node.html
进一步的背景阅读:(注意一些较旧的文档虽然取代有时确实包含更冗长的解释)
http://www.datastax.com/docs/1.0/cluster_architecture/gossip http://www.datastax.com/documentation/cassandra/1.2/cassandra/initialize/initializeMultipleDS.html