Port

卡桑德拉港口關閉

  • May 31, 2018

我正在嘗試從遠端機器連接到 cassandra 安裝。Cassandra 在預設埠 9160 上執行 thrift 服務。但是我無法連接數據庫,並且總是出現連接超時異常。這是詳細資訊。

  1. 嘗試連接到數據庫的應用程序機器是 CentOS 7 VM
  2. Cassandra 在 Windows 10 的 9160 埠上執行

我執行nmapandnetstat命令來查看埠的狀態,這些是我得到的輸出

x.y.z.z- 執行 cassandra 的機器的

a.b.c.dIP - 執行應用程序的機器的 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在數據庫機器(x.y.z.z)上執行時,我看到數據庫應用程序正在偵聽 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。

數據庫正在監聽127.0.0.1 :9160。這意味著它目前配置為僅偵聽環回 IP 地址。換句話說,它只監聽來自同一主機的連接。

您在cassandra.yaml文件中需要的參數是rpc_address. 它的預設值為 127.0.0.1。要允許您的應用程序連接到您的 Cassandra DB,您應該將該參數設置為 value x.y.z.z,或者unset如果您希望 Cassandra 偵聽其 IP 地址映射到數據庫伺服器主機名的所有介面,則設置為。

引用自:https://serverfault.com/questions/914571