2016-12-29 1 views
-5

Я просто хочу, чтобы один узел Cassandra работал и подключался с удаленного сервера.Получение Кассандры для прослушивания на 9042 должным образом

lsof -i :9042 
COMMAND PID  USER FD TYPE DEVICE SIZE/OFF NODE NAME 
java 22089 cassandra 137u IPv4 80564  0t0 TCP cassansra.sucks.com:9042 (LISTEN) 

на сервере Кассандры:

sudo nodetool status 
Datacenter: datacenter1 
======================= 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address   Load  Tokens  Owns (effective) Host ID        Rack 
UN xxx.xxx.xxx.xxx 202.28 KiB 256   100.0%   6e485a3c-7e0f-452c-8545-77380f21daa0 rack1 

То, что я хочу 9042 слушать на IP-адрес. У меня есть ниже в файле cassandra.yaml:

rpc_address: xxx.xxx.xxx.xxx 

Я использую Cassandra 3.x.

+0

Как вы пытаетесь подключиться? Вы должны иметь возможность подключиться к порту 9042 по IP-адресу, указанному вами как 'rpc_address'. Если Cassandra связывается с именем хоста, это означает, что 'rpc_address' не установлен. Возможно, вы смотрите на неправильный 'cassandra.yaml' или вы не сохранили ваши изменения в файле или не сделали какую-то другую ошибку? – Ralf

ответ

1

-e CASSANDRA_RPC_ADDRESS и -e CASSANDRA_START_RPC=true - если мы установим эти два варианта, он сможет подключить порт 9042 от внешних машин.

Можете ли вы напечатать /var/log/cassandra/system.log, чтобы мы могли видеть, почему ошибка выводится. Вы используете Докер? Используйте ниже, если это так: https://hub.docker.com/_/cassandra/. Даже если это не Docker, параметры остаются прежними.

+0

'START_RPC' включает протокол сбора средств на 9160 и не имеет никакого отношения к подключению через собственный двоичный протокол на 9042. – Aaron

0

Как nodetool status работает отлично.

Проверьте, не слышен ли демон кассандры родной порт транспорта (по умолчанию: 9042).

Выполните следующую команду, если Cassandra демон НЕ слушать родной транспортный порт:

nodetool enablebinary

 Смежные вопросы

  • Нет связанных вопросов^_^