如何向cassandra集群添加新节点

时间:2016-04-22 12:37:55

标签: cassandra

我在尝试将新节点添加到现有cassandra集群时遇到了一些问题。我有两个现有节点,它们正在同步工作[我们称之为NodeA和NodeB]。这两个都是种子节点。

现在我添加了一个新节点 - NodeC。由于某种原因,我没有自动附加到群集。所以,我停止了NodeA,NodeB和NodeC。首先启动NodeA和NodeB(因为这些是种子节点),然后是NodeC。

现在出于某种原因,我在nodetool status下得到了这个奇怪的配置:

在NodeA上,我得到了 -

Status=Up/Down

|/ State=Normal/Leaving/Joining/Moving

--  Address         Load       Tokens       Owns    Host ID                               Rack

UN  52.35.nodeB.IP  54.44 MB   256          ?       fc6d1bee-4b5e-4c18-bc7f-72195063dc44  rack1

在NodeB和NodeC上,我得到了 -

Status=Up/Down

|/ State=Normal/Leaving/Joining/Moving

--  Address         Load       Tokens       Owns    Host ID                               Rack

UN  52.35.nodeB.IP  54.44 MB   256          ?       fc6d1bee-4b5e-4c18-bc7f-72195063dc44  rack1    
UN  52.11.nodeC.IP  35.96 MB   256          ?       7f76e652-0359-48a3-a3fd-13e1c3040c9b  rack1

现在,我不明白为什么nodetool在所有三个节点上都给出了不同的状态。

此外,在此配置中,NodeA仅连接到NodeB,NodeB和NodeC相互连接。我不明白这是怎么回事。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

节点C无法连接到A和B.所以它要么不知道它,要么无法通信。

确保在节点C上的cassandra.yaml中正确设置了listen_address,并确保在cassandra.yaml中的种子中添加了节点A和B.