Cassandra nodetool в автономном режиме - PullRequest
0 голосов
/ 04 марта 2012

У меня Cassandra 0.7 работает в автономном режиме, и я пытаюсь запустить nodetool, но получаю исключения JMX.Разве конфигурация JMX не требуется для доступа к удаленному серверу?Я получаю доступ к своей локальной машине.

Также, почему nodetool ищет 63.251.179.13?

    [rav@ubix bin]$ ./nodetool -h 127.0.0.1 flush
Error connection to remote JMX agent!
java.rmi.ConnectException: Connection refused to host: 63.251.179.13; 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:144)
    at org.apache.cassandra.tools.NodeProbe.<init>(NodeProbe.java:114)
    at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:621)
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)
    ... 10 more

Спасибо,

Ответы [ 2 ]

0 голосов
/ 08 апреля 2013

У меня была похожая проблема при запуске nodetool на экземпляре Cassandra, работающем локально на моей машине. При попытке запустить nodetool -h 127.0.0.1 nodetool выдавал исключение, относящееся к JMX, которое выглядело так (где был неизвестный мне IP-адрес).

Error connecting to remote JMX agent!
java.rmi.ConnectIOException: Exception creating connection to: ; nested exception is: 
    java.net.SocketException: Host is down

Дуглас Мут опубликовал аналогичную проблему здесь, и из этого я обнаружил, что Cassandra, кажется, записывает имя хоста при запуске. К сожалению, к тому времени, когда я запустил nodetool, имя хоста устарело (мой IP-адрес выделяется динамически).

Тогда я решил перезапустить cassandra, которая обновила IP-адрес и перезапустила nodetool. Нет больше ошибок JMX, больше нет странного IP-адреса. Это помогло мне, так как я запускаю локальный экземпляр Cassandra на localhost и не возражаю против перезапуска, но это не очень удовлетворительное решение.

0 голосов
/ 05 марта 2012

Попробуйте nodetool с -h или --host и -p или --port согласно инструкциям:

 -h,--host <arg>        node hostname or ip address
 -p,--port <arg>        remote jmx agent port number

Когда Cassandra находится в автономном режиме, проверьте используемые порты, чтобы увидеть, использует ли другой процесспорт по умолчанию, к которому привязывается Кассандра.Вы можете найти значение по умолчанию в conf/cassandra-env.sh

Когда вы знаете порт, вы можете увидеть, связан ли с ним другой процесс с netstat -an

Если на порту ничего не запущено, иВы запускаете Cassandra, проверяете, что он работает на правильном порту и пытаетесь снова соединиться с аргументами -p или --port.Более подробную информацию можно найти здесь: http://wiki.apache.org/cassandra/GettingStarted

Машина Unix или Windows?у вас есть неправильная запись в /etc/hosts, указывающая, что 127.0.0.1 сопоставляется с другим именем хоста или IP-адресом, а именно 63.251.179.13

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