Я пытаюсь подключиться к установке cassandra с удаленного компьютера. Кассандра запускает сберегательную службу на 9160, который является портом по умолчанию. Но я не могу подключить БД, и я всегда получаю исключение тайм-аута подключения. Вот подробности.
Я запустил nmap
и netstat
команды, чтобы увидеть состояние портов, и это выходы, которые я получил
x.y.z.z
- IP машины, на которой запущена кассандра
a.b.c.d
- IP-адрес машины, на которой запущено приложение
Результат При запуске nmap из a.b.c.d:
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 я вижу, что служба сбережений прослушивает порт 9160.База данных прослушивает 127.0.0.1: 9160. Это означает, что в настоящее время он настроен на прослушивание только IP-адреса обратной петли. Другими словами, он прослушивает только соединения, исходящие от одного и того же хоста.
Параметр, который вам понадобится в вашем cassandra.yaml
файл rpc_address
. Его значение по умолчанию 127.0.0.1. Чтобы ваше приложение могло подключаться к вашей базе данных Cassandra, вы должны установить для этого параметра значение x.y.z.z
, или в unset
если вы хотите, чтобы Cassandra прослушивала все интерфейсы, IP-адрес которых сопоставлен с именем хоста сервера базы данных.