Port
卡桑德拉港口關閉
我正在嘗試從遠端機器連接到 cassandra 安裝。Cassandra 在預設埠 9160 上執行 thrift 服務。但是我無法連接數據庫,並且總是出現連接超時異常。這是詳細資訊。
- 嘗試連接到數據庫的應用程序機器是 CentOS 7 VM
- Cassandra 在 Windows 10 的 9160 埠上執行
我執行
nmap
andnetstat
命令來查看埠的狀態,這些是我得到的輸出
x.y.z.z
- 執行 cassandra 的機器的
a.b.c.d
IP - 執行應用程序的機器的 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 添加了一個入站規則。但這沒有幫助,我仍然收到連接超時錯誤。
我的問題:
- 為什麼即使主機已啟動且埠正在偵聽,數據庫機器仍無法連接?
- 為什麼該
nmap
命令顯示埠已關閉?我可以從 cassandra 啟動日誌中看到,thrift 服務正在偵聽埠 9160。
數據庫正在監聽127.0.0.1 :9160。這意味著它目前配置為僅偵聽環回 IP 地址。換句話說,它只監聽來自同一主機的連接。
您在
cassandra.yaml
文件中需要的參數是rpc_address
. 它的預設值為 127.0.0.1。要允許您的應用程序連接到您的 Cassandra DB,您應該將該參數設置為 valuex.y.z.z
,或者unset
如果您希望 Cassandra 偵聽其 IP 地址映射到數據庫伺服器主機名的所有介面,則設置為。