Cassandra节点无法相互通信

时间:2018-05-30 08:08:35

标签: ubuntu cassandra

我已经在3个AWS EC2实例上安装了cassandra,但没有一个可以互相ping通,也不会在7000上进行telnet。

telnet tm1 7000 Trying 172.31.30.37... telnet: Unable to connect to remote host: Connection timed out

以下是netstat的输出

netstat -na|grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN

我理解为cassandra节点间通信我需要打开7000端口,但想知道如何让它在ubuntu上进行监听。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

好的,所以你在这里测试端口7000的TCP通信,但这可能是任何端口。您需要做的第一件事是设置一个进程来侦听端口,然后测试连接(必须首先打开TCP套接字才能测试与它的连接)。

您可以使用netcatnc)这是检查此功能的理想工具。确保首先安装它然后你可以运行一个"服务器"绑定到这样的端口:

nc -l 0.0.0.0 7000

然后你可以检查以确保其收听

$ netstat -lnt | awk '/7000/;NR==2'
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:7000            0.0.0.0:*               LISTEN

最后检查来自其他节点的连接,如下所示:

$ nc -v -w2 10.1.2.3 7000
Connection to 10.1.2.3 7000 port [tcp/afs3-bos] succeeded!

-v用于详细,-w是超时

注意在测试端口之外,ping不会是一般连接的良好测试,因为在很多情况下ICMP数据包被丢弃(安全性)。因此,如果它没有ping,则并不意味着您有连接问题。

相关问题