0

我正在尝试将 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 文件中提到它们。

我按照此处的说明添加新节点。请告知为什么会发生这种情况。

4

1 回答 1

0

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

于 2013-08-10T17:18:57.697 回答