2013-03-08 3 views
4

Im пытается использовать nodetool для проверки состояния моего кластера, но его невозможно подключить.Cassandra nodetool connection timed out

Мой cassandra.yaml настроен с именем listen_address и rpc_address, установленным как IP-адрес сервера (например, 10.10.10.266).

Я могу подключиться через cqlsh и cassandra-cli, используя тот же IP-адрес, но когда я подключаюсь к nodetool, он не работает.

/bin$ nodetool -h 10.10.10.266 ring 
Failed to connect to '10.10.10.266:7199': Connection has timed out 

Я не думаю, что на сервере установлен брандмауэр (Ubuntu). Я запускаю это прямо на сервере, поэтому я бы не подумал, что это будет проблема брандмауэра.

+0

Кассандра определенно работает (я могу подключиться к cqlsh, используя вышеуказанный хост). Запуск «nodetool ring» все еще не работает - «не удалось подключиться к« 127.0.0.1:7199 »: время ожидания соединения». Я также пробовал его с localhost и 0.0.0.0 – beterthanlife

ответ

3

nodetool подключается через интерфейс JMX. По умолчанию он прослушивает порт 7199 (другие инструменты используют интерфейс RPC, прослушивающий порт 9160 по умолчанию). Проверьте настройки JMX в файле cassandra-env.sh. Скорее всего, сервер JMX прослушивает неправильный интерфейс (или, возможно, loopback-интерфейс).

раздел По умолчанию JMX конфигураций (. Cassandra версии 1.1.5) содержит ссылку на руководство по устранению неполадок:

# jmx: metrics and administration interface 
# 
# add this if you're having trouble connecting: 
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>" 
# 
# see 
# https://blogs.oracle.com/jmxetc/entry/troubleshooting_connection_problems_in_jconsole 
# for more on configuring JMX through firewalls, etc. (Short version: 
# get it working with no firewall first.) 
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT" 
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false" 
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false" 
JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS" 

Он также Вортсу перечислить все сетевые интерфейсы, используя ifconfig и попробовать telnet'ing порт 7199 на все интерфейсы.

0

Я столкнулся с тем же вопросом времени. Однако я обнаружил, что мой кластер не запускался должным образом из-за проблемы с токеном, и я получал «столкновение с идентификатором хоста между активной конечной точкой». Как только я удалил каталог данных и перезапустил кластер, тогда nodetool начал работать нормально.

1

Я также видел эту проблему, но оказалось, что в моем файле хостов была какая-то странность, которая препятствовала связыванию JMX с интерфейсами.

В частности, файл хоста имел запись для внешнего IP-адреса с именем хоста. Наши серверы имели два интерфейса: один внешний и один для внутренней сети. Удаление этого хоста сделало трюк.

6

Вы, вероятно, нужно раскомментировать следующий параметр в cassandra-env.sh:

-Djava.rmi.server.hostname=<public name> 

Заменить адрес интерфейса вы хотите интерфейс JMX для прослушивания.

0

Как уже упоминалось, он подключается к порту JMX.

Вы можете найти порт JMX:

  • В /etc/cassandra/cassandra-env.sh. Это не сработает для локальных кластеров на основе ccm ИЛИ
  • (мой fav), посмотрев на командную строку процесса узла Cassandra, запущенного на узле.

Мой случай был кластером, созданным локально, с использованием ccm, поэтому все мои узлы работали на одном хосте с другим портом JMX.

[email protected]:~$ ps -eaf | grep cassandra | grepi -o " [^ ]*jmx.local.port[^ ]* " 
-Dcassandra.jmx.local.port=7100 
-Dcassandra.jmx.local.port=7300 
-Dcassandra.jmx.local.port=7200 
[email protected]:~$ 

Это потому, что у меня есть 3 узла, работающих на локальном хосте.

[email protected]:~$ nodetool -p 7100 ring 

Datacenter: datacenter1 
========== 
Address Rack  Status State Load   Owns    Token 
                      3074457345618258602 
127.0.0.1 rack1  Up  Normal 64.65 MB  33.33%    -9223372036854775808 
127.0.0.2 rack1  Up  Normal 65.26 MB  33.33%    -3074457345618258603 
127.0.0.3 rack1  Up  Normal 65.92 MB  33.33%    3074457345618258602 

[email protected]:~$ 
Смежные вопросы