cassandra - 无法从不同主机连接到 cassandra 节点

标签 cassandra datastax cqlsh network-interface

我的机器上有一个 cassandra 节点。当我从同一台机器访问 cqlsh 时,它工作正常。

但是当我尝试使用另一台计算机上的“192.x.x.x”连接到它的 cqlsh 时,我收到一条错误消息

连接错误:('无法连接到任何服务器',{'192.x.x.x':错误(111,“尝试连接到[('192.x.x.x',9042)]。最后一个错误:连接被拒绝“)})

这是什么原因呢?我该如何修复它?

最佳答案

远程 Cassandra 节点可能未绑定(bind)到外部网络接口(interface),而是绑定(bind)到环回接口(interface)(这是默认配置)。您可以通过从远程计算机使用“telnet thecassandrahost 9042”来确保这一点,它应该不起作用。

为了将 Cassandra 绑定(bind)到外部网络接口(interface),您需要编辑 cassandra.yaml 配置文件并将属性“listen_address”和“rpc_address”设置为您的远程 IP 或“0.0.0.0”(并非所有版本的 Cassandra 都支持通配符地址)。

另请检查防火墙是否已正确配置或禁用(sudo service iptables stop)。

关于cassandra - 无法从不同主机连接到 cassandra 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758795/

相关文章:

cassandra - 如何在同一个分区中保留 2 个 Cassandra 表

Cassandra 超时 cqlsh 查询大量数据

database - 用于简单消息传递应用程序的 Cassandra 数据模型

cassandra - 在 Cassandra 中更新表

java - 如何在 Spark 中创建必须应用于数据集的函数管道?

java - 如何从Java调用DataFrameFunctions.createCassandraTable?

cassandra - 如何仅在特定数据中心内运行修复?

java - 从 java.util.Date 获取年份

Cassandra - 删除的数据仍然存在

python - 如何将日期时间插入 Cassandra 1.2 时间戳列