【问题标题】:Trouble connecting the cassandra database via remote access through JAVA无法通过 JAVA 远程访问连接 cassandra 数据库
【发布时间】:2013-07-15 17:43:49
【问题描述】:

我已经启动了 Cassandra 服务器,在此之前我在 cassandra.yaml 中更改了“rpc_address”。我可以从同一台机器访问 cassandra,但我无法使用 Hector Client 通过 Java 应用程序从远程机器访问 cassandra。请帮助我,在此先感谢。

【问题讨论】:

  • 您的描述信息不足。 1)您的路由器是否配置为允许 cassandra 进出流量,并将必要的端口转发到 cassandra 机器。 2) 机器上是否有任何防火墙配置为允许 cassandra 流量进出?首先检查您是否可以 ping 机器,然后检查端口 9160 是否打开,然后尝试切换任何/所有防火墙作为测试,看看您是否可以访问 cassandra。
  • 我可以 ping 机器。但我无法在 Windows 中使用 telnet 访问机器。服务器是linux机器。你有什么想法吗?
  • 防火墙阻止了 telnet 端口,可能还有 cassandra 需要的其余端口。您需要添加一个异常,告诉防火墙打开端口 9160(客户端端口)。 9160 是您真正需要打开的唯一端口,除非您想要远程 jmx 管理等。
  • 我的服务器在linux机器上运行,我需要在哪里打开端口9160?在我的客户端 windows 或服务器 linux 中?
  • 在 linux 服务器 ofc 中。你想要iptables -I INPUT -p tcp --dport 9160 --syn -j ACCEPT,然后在重启后保存防火墙的状态,你使用service iptables saveSource

标签: cassandra rpc


【解决方案1】:

我可以 ping 机器。但我无法在 Windows 中使用 telnet 访问机器。服务器是linux机器。你有什么想法吗?

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

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

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

如果你想保存状态:

service iptables save

【讨论】:

    猜你喜欢
    • 2014-10-26
    • 2014-01-13
    • 2011-11-30
    • 1970-01-01
    • 2019-11-13
    • 2017-12-23
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多