【问题标题】:One Cassandra node fails to join the Cassandra cluster一个 Cassandra 节点无法加入 Cassandra 集群
【发布时间】:2012-11-29 13:56:58
【问题描述】:

我正在配置一个三节点 Cassandra 集群,它位于三台不同的机器上。我可以互相ping通,也可以ssh。 我已经在这三台机器上设置了 cassandra 集群。假设它们是 A、B、C,其中 A 是种子。在这里,C 成功加入种子 (A),并打印了加入日志。当我通过 A 分析集群时,我可以看到 C 已加入,并且拥有 66.7% 的所有权。 “A”拥有 33.3% 的所有权。 (我已经平分了代币。) 但是节点 B 没有加入集群。没有打印错误。 B 和 C 的配置类似,除了 listen_address 和 rpc_address。我验证了这两者之间的配置,它们是相似的。

这可能是网络问题,但我不确定是否是这种情况。没有问题被打印出来。关于我可以在这里尝试的事情有什么建议吗?这似乎很奇怪。这可能是由于某些端口问题吗?

【问题讨论】:

  • B 上的“nodetool -h localhost ring”输出是什么?

标签: cassandra cluster-computing


【解决方案1】:

您使用的是哪个 Cassandra 版本?

尝试关闭每个节点并一个一个地启动它们。 1.1.6 之前的 Cassandra(我认为是那个版本)存在节点有时无法重新加入环的问题。

其次,确保每个节点都配置有相同的集群名称和相同的种子节点集。

【讨论】:

  • 我们使用的是 Cassandra 1.1.3。无论如何,我们找到了解决方案,结果证明是网络接口的问题。每台机器都有两个网络接口。 IE。一个在 192.168.x 范围内,另一个在 10.x 范围内。有问题的机器原来是使用 10.x IP 作为 rpc 地址。 (我们有一个域到 ip 的映射)因此,更改 IP 解决了这个问题。在这里使用 0.0.0.0 作为 rpc_address 是一种可能的解决方案吗?
  • 是的 - 但标准建议是将它们放在不同的接口上,这样节点之间的八卦不会受到来自客户端的大量流量的影响。
猜你喜欢
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 2016-08-14
  • 2012-05-02
  • 2017-11-02
相关资源
最近更新 更多