If you run into issues connecting via jconsole to the JmxInterface port from a remote machine, it may be the JVM is binded on a difference interface. To bind to a specific interface, you could use JVM option '-Djava.rmi.server.hostname=$IP' (where $IP is the ip address of the interface you want to reach from the remote machine). By default, the RMI implementation uses the server's IP address as indicated by the java.net.InetAddress.getLocalHost API.
- You may also run into issues connecting to the JMX interface (even locally) because by default JMX binds to IPv6 if it's available. This case is also solved by passing '-Djava.net.preferIPv4Stack=true' explicitly as a JVM option. This will prompt JMX to bind to the given IPv4 IP address so that nodetool can access it.
To check the listening interface, whether it is on the correct host name or IPv4/IPv6, the following command could be used: netstat -ltn