Кассандра - nodetool не работает на другой машине? - PullRequest
3 голосов
/ 13 апреля 2011

У меня есть кластер Кассандры на 4 узла (на каждом запущены Ubuntu 10.04 и Кассандра 0.7.4). Все узлы подключены с помощью ПЕРЕКЛЮЧАТЕЛЯ, и каждому назначается СТАТИЧЕСКИЙ IP-АДРЕС (DNS не задействован).

Кажется, что узел работает нормально (статус «Нормальный», все узлы работают и т. Д.).

Проблема в следующем: nodetool работает, но работает только тогда, когда команда nodetool выполняется на том же узле. Когда я пытаюсь запустить nodetool из STATIC_IP = 192.168.0.253 в STATIC_IP = 192.168.0.4 , я получаю следующую ошибку:

(примечание: машина 's3789' имеет статический IP-адрес 192.168.0.253)

user@s3789:/opt/cassandra/apache-cassandra-0.7.4$ bin/nodetool -host 192.168.0.4 ring

Error connection to remote JMX agent! java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is: java.net.ConnectException: Connection refused at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:128) at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source) at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2343) at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:296) at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:267) at org.apache.cassandra.tools.NodeProbe.connect(NodeProbe.java:137) at org.apache.cassandra.tools.NodeProbe.<init>(NodeProbe.java:107) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:511) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) at java.net.Socket.connect(Socket.java:546) at java.net.Socket.connect(Socket.java:495) at java.net.Socket.<init>(Socket.java:392) at java.net.Socket.<init>(Socket.java:206) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)

Любые подсказки, как решить эту проблему?

Ответы [ 2 ]

15 голосов
/ 14 апреля 2011

из conf / cassandra-env.sh:

# 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.)
0 голосов
/ 25 июля 2012

Проверьте, запустили ли вы rmiregistry перед запуском сервера

rmiregistry &

Начало работы с RMI

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