2016-04-22 114 views
0

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

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

现在,出于某种原因,我的得到下nodetool状态这种怪异的配置:

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相互连接。我不明白这是怎么可能的。

任何人都可以帮助我吗?

+0

你可以发送你获得的整个消息与nodetool状态? – Whitefret

+0

我认为,因为你有两个种子,C只连接到其中一个,在你的群集中创建另一个数据库。但我没有足够的信息来弱化或确认它 – Whitefret

回答

1

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

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

相关问题