Thanks! That did it. Looks like the connection happens on 10036 and then the server negotiates a separate port for continued communication.
Found this article once I knew what to look for. It also describes how to get more consistency on port numbers to allow for ssh tunneling and firewalls. From http://jared.ottleys.net/alfresco/tunneling-debug-and-jmx-for-alfresco "The -Djava.rmi.server.hostname=dummyhost option is needed to help RMI know where to connect. RMI connects in a two part process. First by connecting to the RMI server registry, which pushes your request to the JMX service which is dynamically allocated on the first open port available to it at start up time." On Aug 30, 2010, at 10:30 AM, Juho Mäkinen wrote: > I think that JMX needs additional ports to function correctly. Try to > disable all firewalls between the client and the server so that client > can connect to any port in the server and try again. > > - Juho Mäkinen > > On Mon, Aug 30, 2010 at 7:07 PM, Allan Carroll <alla...@gmail.com> wrote: >> Hi, >> >> I'm trying to manage my cassandra cluster from a remote box and having >> issues getting nodetool to connect. All the machines I'm using are running >> on AWS. >> >> Here's what happens when I try: >> >> /opt/apache-cassandra-0.6.4/bin/nodetool -h xxx.xxx.xxx.143 -p 10036 ring >> Error connecting to remote JMX agent! >> java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.143; >> nested exception is: >> java.net.ConnectException: Connection timed out >> >> >> When I'm local to a box (Ubuntu 10.04) running Cassandra, I can connect fine >> via both 127.0.0.1 and external ip (xxx.xxx.xxx.143). I can telnet into the >> jmx port from an external machine fine: >> >> telnet xxx.xxx.xxx.143 10036 >> Trying xxx.xxx.xxx.143... >> Connected to xxx.xxx.xxx.143. >> Escape character is '^]'. >> >> I already added the -Djava.rmi.server.hostname parameter to the java >> runtime, but it didn't seem to affect anything. >> >> /usr/bin/jsvc -home /usr/lib/jvm/java-6-openjdk/jre -pidfile >> /var/run/cassandra.pid -errfile &1 -outfile /var/log/cassandra/output.log >> -cp >> /usr/share/cassandra/antlr-3.1.3.jar:/usr/share/cassandra/apache-cassandra-0.6.3.jar:/usr/share/cassandra/avro-1.2.0-dev.jar:/usr/share/cassandra/clhm-production.jar:/usr/share/cassandra/commons-cli-1.1.jar:/usr/share/cassandra/commons-codec-1.2.jar:/usr/share/cassandra/commons-collections-3.2.1.jar:/usr/share/cassandra/commons-lang-2.4.jar:/usr/share/cassandra/google-collections-1.0.jar:/usr/share/cassandra/hadoop-core-0.20.1.jar:/usr/share/cassandra/high-scale-lib.jar:/usr/share/cassandra/ivy-2.1.0.jar:/usr/share/cassandra/jackson-core-asl-1.4.0.jar:/usr/share/cassandra/jackson-mapper-asl-1.4.0.jar:/usr/share/cassandra/jline-0.9.94.jar:/usr/share/cassandra/json-simple-1.1.jar:/usr/share/cassandra/libthrift-r917130.jar:/usr/share/cassandra/log4j-1.2.14.jar:/usr/share/cassandra/slf4j-api-1.5.8.jar:/usr/share/cassandra/slf4j-log4j12-1.5.8.jar:/etc/cassandra:/usr/share/java/commons-daemon.jar >> -Xmx4G -Xms128M -Djava.rmi.server.hostname=xxx.xxx.xxx.143 -Dcassandra >> -Dstorage-config=/etc/cassandra -Dcom.sun.management.jmxremote.port=10036 >> -Dcom.sun.management.jmxremote.ssl=false >> -Dcom.sun.management.jmxremote.authenticate=false >> org.apache.cassandra.thrift.CassandraDaemon >> >> >> netstat shows that I'm still bound to IP6 >> >> netstat -nap|grep 10036 >> tcp6 0 0 :::10036 :::* LISTEN >> 29277/jsvc >> >> >> And, now I'm at an impasse. Any help would be greatly appreciated. >> >> Thanks >> -Allan >> >>