2013-05-11 1 views
6

카산드라 프로덕션 데이터베이스에 대해 nodetool을 사용하려고합니다. 하지만 로컬 컴퓨터에서 Cassandra 프로덕션 클러스터에 대한 nodetool을 시작하려고하면 예외가 발생합니다.원격 JMX 에이전트에 연결하는 중 오류가 발생했습니다! 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 

아무에게도이 예외가 표시되는 이유는 무엇입니까? 어떤 도움을 주시면 감사하겠습니다.

+0

은 JMX 포트가 제안에 대한 해당 인터페이스 – Schildmeijer

+0

읽기 http://wiki.apache.org/cassandra/JmxGotchas – Schildmeijer

답변

2

"JVM 옵션 '-Djava.rmi.server.hostname = $ IP'을 사용하십시오. 여기서 $ IP는 원격 시스템에서 접속하려는 인터페이스의 IP 주소입니다." 에서

: wiki.apache.org/cassandra/JmxGotchas

+0

감사에서 수신 대기 있는지 확인합니다. 내 프로덕션 db 클러스터의 통계를보기 위해 nodetool을 시작하려고하는 내 로컬 dev-box에서 위의 JVM_OPTS = "$ JVM_OPTS -Djava.rmi.server.hostname = 10.43.96.33 "'그런 다음 nodetool을 사용하여 해당 IP 주소에 연결하려고합니다. 여전히 동일한 예외가 발생합니다. 내가 잃어버린 것이 있습니까? – ferhan