Apache Cassandra - 从其他机器连接

Posted

技术标签:

【中文标题】Apache Cassandra - 从其他机器连接【英文标题】:Apache Cassandra - Connect from other machine 【发布时间】:2013-07-08 10:19:08 【问题描述】:

我无法从其他机器连接 Cassandra,但我可以从同一台机器连接它。

我正在使用 Hector Java 客户端。我已经更改了cassandra.yaml文件中的rpc_address。

请提出任何建议。提前致谢。

【问题讨论】:

它看起来像防火墙。能ping通机器吗?如果是,服务是否在正确的端口上侦听? (telnet ip 9160) 是的,没错@Jiri Kremser;除了上述检查,还尝试在 cassandra-env.sh 文件中添加这一行: JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname= 您是否尝试将其关闭再打开? @Jiri :我可以从其他机器 ping 那台机器。我正在 Windows 中从我的 Eclipse 访问 linux 机器。 @Theo:关闭再打开是什么意思?你的意思是机器重启? 【参考方案1】:

是的,我的防火墙阻止了 telnet 端口,可能还有 cassandra 需要的其余端口。您需要添加一个异常,告诉防火墙打开端口 9160(客户端端口)。 9160 是您真正需要打开的唯一端口,除非您想要远程 jmx 管理等。

要为您的 linux 防火墙添加例外:

iptables -I INPUT -p tcp --dport 9160 --syn -j ACCEPT

如果你想保存状态:

服务 iptables 保存

【讨论】:

以上是关于Apache Cassandra - 从其他机器连接的主要内容,如果未能解决你的问题,请参考以下文章

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

连接到 Apache Cassandra 的 DataStax Distribution 的容器

Spark 1.3.x 的 org.apache.spark.sql.cassandra 的 API 文档在哪里?

如何为其他 Cassandra 的远程节点复制 Cassandra 的本地节点?

从 MySQL 切换到 Cassandra - 优点/缺点?

从本地连接到客户端 cassandra