I am trying to set up replication among three cassandra nodes. I believe it is because I am not setting the correct seed hostnames in storage-conf.xml. How can I set up node communication through the NAT on firewall.
Two nodes will be on my network with private ip 192.168.15.86 and 192.168.15.88. Port forwarding from my router's public ip to ONE internal node ip: 192.168.15.86. I have port forwarding to 192.168.15.86 set up for JMX port 8088 and cassandra port 9160. I am using the hosts file to define the ip numbers for the cassandra nodes: 192.168.15.86 node1_rocinante 192.168.15.88 node2_spork <<not shown>> node3_rackspace I can not seem to communicate from my internal node to the cassandra node at rackspace over port 8088 using "nodetool" or jmx gui, although I can telnet to both 8088 and cassandra port 9160 from shell. Here are JMX JAVA OPTS for cassandra on my node: -Dcom.sun.management.jmxremote.port=8088 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=node1_rocinante Here is the netstat output showing the private ip rackspace cassandra node 192.168.100.50 trying to handshake but failing because the nodes are assigned my private ip numbers 192.168.15.88, 192.168.15.86. For review, rackspace tcp 0 1 192.168.100.50:39671 192.168.15.88:7000 SYN_SENT 26725/java tcp 0 1 192.168.100.50:39670 192.168.15.86:7000 SYN_SENT 26725/java Here are what I think are pertinent example settings in the storage-conf.xml for an internal node: : ... <Seeds> <Seed>node1_rocinante</Seed> <Seed>node2_spork</Seed> <Seed>node3_rackspace</Seed> </Seeds> ... <ListenAddress>node1_rocinante</ListenAddress> <!-- internal communications port --> <StoragePort>7000</StoragePort> ... Jeffrey Griffin, Developer JavaJet Consulting LLC o: 1.717.533.5557 m: 1.717.419.2869 skype: javajet.coder