cassandra 端口已关闭

cassandra 端口已关闭

我正在尝试从远程计算机连接到 Cassandra 安装。Cassandra 在默认端口 9160 上运行 Thrift 服务。但我无法连接数据库,并且总是出现连接超时异常。以下是详细信息。

  1. 尝试连接数据库的应用机器是 CentOS 7 VM
  2. Cassandra 在 Windows 10 的 9160 端口上运行

我运行了nmapnetstat命令来查看端口的状态,这些是我得到的输出

x.y.z.z- 运行 Cassandra 的机器的 IP
a.b.c.d- 运行应用程序的机器的 IP

从 abcd 运行 nmap 的输出:

Bash$ nmap -r -p 9160 x.y.z.z
Starting Nmap 6.40 ( http://nmap.org ) at 2018-05-30 04:02 PDT
Nmap scan report for x.y.z.z
Host is up (0.0016s latency).
PORT     STATE  SERVICE
9160/tcp closed apani1

netstat当我在 DB 机器上运行时( x.y.z.z),我看到 DB 应用程序正在监听 9160 端口。

TCP    x.y.z.z:63572    stackoverflow:https    ESTABLISHED
TCP    x.y.z.z:63735    stackoverflow:https    ESTABLISHED
TCP    x.y.z.z:64856    stackoverflow:https    ESTABLISHED
TCP    127.0.0.1:6942         x.y.z.z:0      LISTENING
TCP    127.0.0.1:7000         x.y.z.z:0      LISTENING  
TCP    127.0.0.1:9042         x.y.z.z:0      LISTENING
TCP    127.0.0.1:9042         x.y.z.z:55317  ESTABLISHED
TCP    127.0.0.1:9042         x.y.z.z:55329  ESTABLISHED
TCP    127.0.0.1:9160         x.y.z.z:0      LISTENING
TCP    127.0.0.1:50135        x.y.z.z:50136  ESTABLISHED

我在数据库机器中专门为端口 9160 添加了一条入站规则。但这没有帮助,我仍然收到连接超时错误。

我的问题:

  1. 为什么即使主机已启动并且端口正在监听,但数据库机器仍未连接?
  2. 为什么nmap命令显示端口已关闭?我可以从 cassandra 启动日志中看到,thrift 服务正在监听端口 9160。

答案1

数据库正在监听127.0.0.1:9160。这意味着它当前配置为仅监听环回 IP 地址。换句话说,它仅监听来自同一主机的连接。

文件中需要的参数cassandra.yamlrpc_address。其默认值为 127.0.0.1。要允许应用程序连接到 Cassandra DB,应将该参数的值设置为x.y.z.z,或者,unset如果您希望 Cassandra 监听所有 IP 地址映射到数据库服务器主机名的接口,则应将该参数的值设置为 。

相关内容