2013-05-11 9 views
6

Sto cercando di utilizzare nodetool contro il nostro database di produzione Cassandra. Ma sto ottenendo un'eccezione non appena cerco di avviare nodetool contro il cluster di produzione Cassandra dalla mia macchina locale.Errore durante la connessione all'agente JMX remoto! durante l'avvio di Nodetool

S:\Apache Cassandra\apache-cassandra-1.2.3\bin>nodetool -h pdb.vip.phx.host.com compactionstats 
Starting NodeTool 
Error connecting to remote JMX agent! 
java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error duri 
ng JRMP connection establishment; nested exception is: 
     java.net.SocketTimeoutException: Read timed out] 
     at javax.management.remote.rmi.RMIConnector.connect(Unknown Source) 
     at javax.management.remote.JMXConnectorFactory.connect(Unknown Source) 
     at org.apache.cassandra.tools.NodeProbe.connect(NodeProbe.java:145) 
     at org.apache.cassandra.tools.NodeProbe.<init>(NodeProbe.java:115) 
     at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:966) 
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exce 
ption is: 
     java.net.SocketTimeoutException: Read timed out] 
     at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source) 
     at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source) 
     at javax.naming.InitialContext.lookup(Unknown Source) 
     at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(Unknown Source) 
     at javax.management.remote.rmi.RMIConnector.findRMIServer(Unknown Source) 
     ... 5 more 
Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is: 
     java.net.SocketTimeoutException: Read timed out 
     at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) 
     at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) 
     at sun.rmi.server.UnicastRef.newCall(Unknown Source) 
     at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 
     ... 10 more 
Caused by: java.net.SocketTimeoutException: Read timed out 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.io.BufferedInputStream.fill(Unknown Source) 
     at java.io.BufferedInputStream.read(Unknown Source) 
     at java.io.DataInputStream.readByte(Unknown Source) 
     ... 14 more 

Qualcuno può fornire alcuni pensieri perché sto vedendo questa eccezione? Qualsiasi aiuto sarà apprezzato.

+0

Assicurarsi che la porta JMX in ascolto su tale interfaccia – Schildmeijer

+0

Leggi http://wiki.apache.org/cassandra/JmxGotchas – Schildmeijer

risposta

2

"Usa l'opzione JVM" -Djava.rmi.server.hostname = $ IP "(dove $ IP è l'indirizzo IP dell'interfaccia che si desidera raggiungere dalla macchina remota)."

Da: wiki.apache.org/cassandra/JmxGotchas

+0

Grazie per il suggerimento. Nella mia casella di sviluppo locale da cui sto cercando di avviare il nodetool per vedere le statistiche del mio cluster db di produzione, ho decommentato la riga che hai menzionato sopra come questo 'JVM_OPTS =" $ JVM_OPTS -Djava.rmi.server.hostname = 10.43.96.33 "' e quindi sto provando a connettermi a quell'indirizzo IP usando nodetool, sto ancora ricevendo la stessa eccezione. C'è qualcos'altro che mi manca? – ferhan

Problemi correlati