【问题标题】:Error connecting to remote JMX agent! while starting Nodetool连接到远程 JMX 代理时出错!在启动 Nodetool 时
【发布时间】:2013-05-06 07:28:57
【问题描述】:

我正在尝试对我们的 Cassandra 生产数据库使用 nodetool。但是,一旦我尝试从本地机器上针对 Cassandra 生产集群启动 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

谁能提供一些想法,为什么我会看到这个异常?任何帮助将不胜感激。

【问题讨论】:

标签: cassandra nodetool


【解决方案1】:

“使用 JVM 选项 '-Djava.rmi.server.hostname=$IP'(其中 $IP 是您要从远程机器访问的接口的 IP 地址)。”

发件人:wiki.apache.org/cassandra/JmxGotchas

【讨论】:

  • 感谢您的建议。在我尝试启动 nodetool 以查看我的生产数据库集群的统计信息的本地开发框中,我取消了您上面提到的行的注释,例如 JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=10.43.96.33" 然后我尝试使用连接到该 IP 地址nodetool,我仍然遇到同样的异常。我还有什么遗漏的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 2010-10-24
  • 2016-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多