You may get a better/faster response by asking directly on the java driver list: https://groups.google.com/a/lists.datastax.com/forum/#!forum/java-driver-user
2015-09-30 10:24 GMT-04:00 Renato Perini <renato.per...@gmail.com>: > Hello! > I have configured a small cluster composed of three nodes on Amazon EC2. > The 3 machines don't have an elastic IP (static address) so the public > address changes at every reboot. > > I have a machine with a static ip that I use as a bridge to access the > other 3 cassandra nodes through SSH. On this machine, I have setup a > tunnelling towards the first node of the cluster in order to open the 9042 > port and let me access the cluster through this static IP. > > Basically, my cassandra.yaml has these settings: > listen_address: private IP > broadcast_address: commented out. > rpc_address: 0.0.0.0 > broadcast_rpc_address: private ip > > I know I should set the broadcast address to the public IP, but it is > dynamic and I don't have any idea at the moment on how I could determine it > and setup it in the cassandra.yaml file. > > I'm developing a small client using the datastax connector (in Java). > I setup the contactpoint using the public ip of the bridge machine. The > client connects but gives some errors while adding other nodes in the > cluster: > > 15:43:26,887 ERROR [com.datastax.driver.core.Session] > (cluster1-nio-worker-1) Error creating pool to /XXX.XX.XX.XXX:9042: > com.datastax.driver.core.TransportException: [/XXX.XX.XX.XXX:9042] Cannot > connect > at > com.datastax.driver.core.Connection$1.operationComplete(Connection.java:156) > [cassandra-driver-core-2.2.0-rc3.jar:] > at > com.datastax.driver.core.Connection$1.operationComplete(Connection.java:139) > [cassandra-driver-core-2.2.0-rc3.jar:] > at > io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:424) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:214) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:120) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80] > Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: > /XXX.XX.XX.XXX:9042 > at > io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:212) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > ... 6 more > > 15:43:26,887 ERROR [com.datastax.driver.core.Session] > (cluster1-nio-worker-3) Error creating pool to /XXX.XX.XX.XX:9042: > com.datastax.driver.core.TransportException: [/XXX.XX.XX.XX:9042] Cannot > connect > at > com.datastax.driver.core.Connection$1.operationComplete(Connection.java:156) > [cassandra-driver-core-2.2.0-rc3.jar:] > at > com.datastax.driver.core.Connection$1.operationComplete(Connection.java:139) > [cassandra-driver-core-2.2.0-rc3.jar:] > at > io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:424) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:214) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:120) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) > [netty-common-4.0.27.Final.jar:4.0.27.Final] > at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80] > Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: > /XXX.XX.XX.XX:9042 > at > io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:212) > [netty-transport-4.0.27.Final.jar:4.0.27.Final] > ... 6 more > > This because the driver resolves local ip address for the other nodes, I > think. > So, how can I solve this problem? >