我正在尝试将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添加新节点。 请告知为什么会这样。
答案 0 :(得分:0)
如果您还没想到这一点,我想答案可能是您需要确保在新节点上的cassandra.yaml中使用Ec2或Ec2Multiregion snitch。它们被放入“UNKNOWN-DC”这一事实意味着现有节点不知道将它们放入哪个DC。