2014-01-21 46 views
1

我創建了3個具有3個彈性IP地址的實例指向這些實例。如果使用AWS Elastic IP地址,Cassandra無法聯繫種子......僅適用於私有IP地址

我做了百勝安裝DSC的: dsc12.noarch 1.2.13-1 @datastax

而且/etc/cassandra/default.conf/cassandra.yaml有: - 種子:[彈性IP列表]

但是當我通過啓動卡桑德拉「服務卡珊德拉啓動」我看到/var/log/cassandra/cassandra.log: ... 異常啓動過程中遇到:無法聯繫任何種子! ... 果然「nodetool狀態」顯示: 無法連接到「127.0.0.1:7199」:連接被拒絕

但是: 如果我改變種子值使用「私有IP 「例如,卡桑德拉開局很好。我希望Elastic IP能夠正常工作,但事實並非如此。

你知道這是爲什麼嗎?

我希望Elastic IP能夠工作的原因是我知道IP地址提前,因此當我配置Puppet的機器時,我可以預先在cassandra.yaml文件中填充種子。我不知道的私有IP地址的機器已經啓動後才:(

這是幾乎重複:Cassandra on Amazon EC2 with Elastic IP addresses

回答

5

我相信你的問題來自於種子IP不是被同爲節點的廣播IP's。要更改此修改,請在每個Cassandra.yamls中修改以下行:

# Address to broadcast to other Cassandra nodes 
# Leaving this blank will set it to the same value as listen_address 
broadcast_address: <node's elastic ip> #uncomment this line