无法连接到EC2上的cassandra服务器?

时间:2014-08-07 19:42:24

标签: amazon-ec2 cassandra cassandra-2.0

我已经设置了一个新的EC2实例来在EC2上运行cassandra,已经经历了一堆似乎没有帮助的问题。我正在运行apache-cassandra-2.1.0-rc3

我在我的EC2实例上打开了端口9160,9042,说它的IP地址是1.2.3.4

由于这是单节点系统,我还没有按照

中的指示打开其他端口

http://www.datastax.com/documentation/cassandra/2.0/cassandra/install/installAMISecurityGroup.html

当我尝试使用具有群集配置的python驱动程序连接到此主机时,如下所示:

cluster = Cluster(contact_points=['1.2.3.4',], port=9160)

我收到错误:

 File "....cluster.py", line 1649, in _reconnect_internal
    raise NoHostAvailable("Unable to connect to any servers", errors)
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'1.2.3.4': error(111, 'Connection refused')})

关于我需要在cassandra.yml文件中使用什么咒语以允许外部客户端连接在EC2实例上运行的cassandra实例的任何想法?

1 个答案:

答案 0 :(得分:2)

使用以下命令修改cassandra.yaml:

rpc_address: 0.0.0.0
broadcast_rpc_address: <your ec2 private ip address>

在你的python代码中,你应该使用端口9042。

请记住,您正在通过互联网打开您的cassandra群集。