Your firewall rules need to allow TCP traffic on any port >= 1024 for JMX to work. It initially connects on port 7199, but then the client is asked to reconnect on a randomly chosen port.
You can open the firewall, SSH to the node first, or set up something like this: http://simplygenius.com/2010/08/jconsole-via-socks-ssh-tunnel.html On Fri, May 18, 2012 at 1:31 PM, ramesh <[email protected]> wrote: > I updated the cassandra-env.sh > $JMX_HOST="10.20.30.40" > JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=$JMX_HOST" > > netstat -ltn shows port 7199 is listening. > > I tried both public and private IP for connecting but neither helps. > > However, I am able to connect locally from within server. > > I get this error when I remote: > > Error connection to remote JMX agent! java.rmi.ConnectException: > Connection refused to host: 10.20.30.40; nested exception is: > java.net.ConnectException: Connection timed out at > sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601) at > sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at > sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at > sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110) at > javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source) at > javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2329) > at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:279) > at > javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248) > at org.apache.cassandra.tools.NodeProbe.connect(NodeProbe.java:144) at > org.apache.cassandra.tools.NodeProbe.**(NodeProbe.java:114) at > org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:623) Caused by: > java.net.ConnectException: Connection timed out at > java.net.PlainSocketImpl.socketConnect(Native Method) at > java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at > java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at > java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at > java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at > java.net.Socket.connect(Socket.java:529) at > java.net.Socket.connect(Socket.java:478) at > java.net.Socket.**(Socket.java:375) > at java.net.Socket.**(Socket.java:189) at > sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) > at > sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) > at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595) ... 10 > more****** > > Any help appreciated. > Regards > Ramesh > -- Tyler Hobbs DataStax <http://datastax.com/>
