2014-01-21 23 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