2013-05-11 4 views
6

versuche ich nodetool gegen unsere Cassandra Produktionsdatenbank zu verwenden. Aber ich erhalte eine Ausnahme, sobald ich versuche, nodetool gegen den Cassandra-Produktionscluster von meinem lokalen Rechner aus zu starten.Fehler beim Verbinden mit dem Remote-JMX-Agenten! Beim Start von 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 

Kann mir jemand einige Gedanken geben, warum ich diese Ausnahme sehe? Jede Hilfe wird geschätzt.

+0

Vergewissern Sie sich, dass die JMX-Port – Schildmeijer

+0

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

Antwort

2

"Verwenden Sie die JVM-Option '-Djava.rmi.server.hostname = $ IP' (wobei $ IP die IP-Adresse der Schnittstelle ist, die Sie vom Remote-Rechner aus erreichen möchten)."

Von: wiki.apache.org/cassandra/JmxGotchas

+0

Dank für Vorschlag an dieser Schnittstelle lauscht. In meiner lokalen Dev-Box, von wo ich versuche, das nodetool zu starten, um die Statistiken meines Produktions-Db-Clusters zu sehen, habe ich die oben erwähnte Zeile wie folgt auskommentiert: 'JVM_OPTS =" $ JVM_OPTS -Djava.rmi.server.hostname = 10.43.96.33 "' und dann versuche ich eine Verbindung zu dieser IP-Adresse mit nodetool herzustellen, bekomme ich immer noch die selbe Ausnahme. Gibt es noch etwas, das mir fehlt? – ferhan

Verwandte Themen