cassandra中的nodetool状态给出了以前的节点IP

时间:2013-07-21 18:19:29

标签: amazon-ec2 nosql cassandra

我正在尝试将2节点Cassandra群集扩展为具有4个Amazon EC2实例的4节点群集。我创建了四个节点,并在cassandra.yaml文件中进行了以下更改。

listen_address = 10.30.143.145 
seeds = 10.30.143.145,10.159.58.234,10.170.31.252,10.158.52.84
endpoint_snitch: Ec2snitch
num_tokens: 256

我已经在所有4个节点上复制了这些更改。按照此过程,我已从单节点集群扩展到双节点集群。但是,在配置4节点集群后,当我在第一个节点上执行./nodetool状态时,我得到以下输出:

ubuntu@ip-10-170-31-252:~/VIQ-Cloud/software/apache-cassandra-1.2.5/bin$ ./nodetool status
Datacenter: us-east
===================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns   Host ID                               Rack
UN  10.30.143.145  927.14 KB  256     16.1%  34d0424a-fe07-4047-a2a5-f45b9a0049d6  1a
UN  10.159.58.234  135.2 KB   256     15.7%  00308009-8755-4bce-906f-4eda53a31fc6  1a
UN  10.170.31.252  20.94 GB   256     20.9%  a815f0de-64db-418c-97a3-9aa7be280280  1a
UN  10.158.52.84   311.33 KB  256     15.0%  fc634f65-3cf3-4e24-a9a3-456adbd174e0  1a
Datacenter: UNKNOWN-DC
======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns   Host ID                               Rack
DN  10.170.22.214  ?          256     16.6%  253ee376-c49d-47a1-a321-4f155870c122  UNKNOWN-RACK
DN  10.31.131.35   ?          256     15.7%  e94c0cb1-9635-42c9-8982-450271f7da1c  UNKNOWN-RACK

显示为DN的两个节点的地址是其他EC2节点的先前私有IP的地址(EC2实例的每次重新启动都会更改私有IP)。
但其他3个节点为nodetool状态提供了正确的结果。我想知道cassandra在哪里选择以前的IP,因为他们在cassandra.yaml文件中没有提到它们。

我按照instructions here添加新节点。 请告知为什么会这样。

1 个答案:

答案 0 :(得分:0)

如果您还没想到这一点,我想答案可能是您需要确保在新节点上的cassandra.yaml中使用Ec2或Ec2Multiregion snitch。它们被放入“UNKNOWN-DC”这一事实意味着现有节点不知道将它们放入哪个DC。