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

Posted

技术标签:

【中文标题】无法连接到 EC2 上的 cassandra 服务器?【英文标题】:Unable to connect to cassandra server on EC2? 【发布时间】:2014-08-07 19:42:23 【问题描述】:

我已经设置了一个新的 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】:

用这个修改 cassandra.yaml:

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

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

请记住,这样您就可以将您的 cassandra 集群打开到 Internet。

【讨论】:

以上是关于无法连接到 EC2 上的 cassandra 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

从远程服务器连接到 Amazon EC2 上的 mysql

无法连接到 Nodejs EC2 服务器上的 SQL Server 数据库

无法连接到端口 8080 上的 EC2 Windows 实例

我无法使用 DataStax Python 驱动程序连接到 Cassandra

Cassandra - 开发中心无法连接到 Cassandra 集群的所有 3 个节点

Cassandra - Dev中心无法连接到Cassandra集群的所有3个节点