我正在尝试从开发盒连接到我们公司端口 9042 和 9160 上的临时 Cassandra 服务器之一。通过代码,我无法连接到它...程序在我的 SELECT 查询处挂起..
所以我想知道是否有任何方法可以从我的开发盒中找出这两个端口是否在我的 Cassandra 临时服务器上被阻止?
下面是我尝试从我的开发盒连接的 Cassandra 临时服务器 URL -
sc-host01.vip.slc.qa.host.com
我的开发盒机器网址是 -
username-dyn-vm1-4.phx-os1.tratus.dev.host.com
谁能告诉我如何找出我无法连接到它的可能原因。
如何从我的开发盒检查这些端口在我的 Cassandra 临时服务器上是否打开?
更新:-
这是我运行 nmap 时得到的结果 -
ubuntu@username-dyn-vm1-4:~/build$ nmap -p T:9160 sc-host01.vip.slc.qa.host.com
Starting Nmap 6.00 ( http://nmap.org ) at 2013-10-13 20:01 UTC
Nmap scan report for sc-host01.vip.slc.qa.host.com (10.109.107.64)
Host is up (0.0037s latency).
rDNS record for 10.109.107.64: stgcass01-1.vip.slc.qa.host.com
PORT STATE SERVICE
9160/tcp open apani1
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
ubuntu@username-dyn-vm1-48493:~/build$ nmap -p T:9042 sc-host01.vip.slc.qa.host.com
Starting Nmap 6.00 ( http://nmap.org ) at 2013-10-13 20:02 UTC
Nmap scan report for sc-host01.vip.slc.qa.host.com (10.109.107.64)
Host is up (0.0049s latency).
rDNS record for 10.109.107.64: stgcass01-1.vip.slc.qa.host.com
PORT STATE SERVICE
9042/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
那是不是说明端口打开正确,没有问题呢?
通过 telnet 我得到了这个 -
ubuntu@username-dyn-vm1-4:~/build$ telnet sc-host01.vip.slc.qa.host.com 9042
Trying 10.109.107.64...
Connected to stgcass01-1.vip.slc.qa.host.com.
Escape character is '^]'.
^CConnection closed by foreign host.
ubuntu@username-dyn-vm1-4:~/build$ telnet sc-host01.vip.slc.qa.host.com 9160
Trying 10.109.107.64...
Connected to stgcass01-1.vip.slc.qa.host.com.
答案1
如果是 TCP 端口,您可以在开发盒中使用 telnet:
telnet sc-host01.vip.slc.qa.host.com 9042
telnet sc-host01.vip.slc.qa.host.com 9160
如果出现超时错误,则表明该端口被阻止。
答案2
您可以使用 NMAP 来测试它们(在大多数发行版中都可用)
nmap -p T:9042 sc-host01.vip.slc.qa.host.com
nmap -p T:9160 sc-host01.vip.slc.qa.host.com
编辑:如果登台服务器已过滤端口并且没有响应,则 Cassandra 服务器可能已死亡或这些端口被 IPTables/防火墙过滤