Узлы Кассандры не могут общаться друг с другом - PullRequest
0 голосов
/ 30 мая 2018

Я установил cassandra на 3 экземпляра AWS EC2, но ни один из них не может пропинговать друг друга, как и telnet на 7000.

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 голосов
/ 30 мая 2018

Хорошо, значит, вы тестируете связь TCP для порта 7000, но на самом деле это может быть любой порт.Первое, что вам нужно сделать, это настроить процесс на прослушивание порта, а затем проверить соединение (сначала нужно открыть сокет TCP, прежде чем вы сможете проверить соединение с ним).

Вы можете использовать netcat(nc), который является идеальным инструментом для проверки этого.Сначала убедитесь, что он установлен, а затем вы можете запустить «сервер» для привязки к порту, например так:

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 (безопасность).Так что если он не пингуется, это не значит, что у вас проблема с подключением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...