When I configured rpc_address with public IP, cassandra is not starting up.
It's trowing 'unable to create thrift socket on <public IP>. When I changed
it to private IP, it was good.
java.lang.RuntimeException: Unable to create thrift socket to /
107.21.80.94:9160
at
org.apache.cassandra.thrift.CassandraDaemon$ThriftServer.<init>(CassandraDaemon.java:148)
at
org.apache.cassandra.thrift.CassandraDaemon.startServer(CassandraDaemon.java:76)
at
org.apache.cassandra.service.AbstractCassandraDaemon.startRPCServer(AbstractCassandraDaemon.java:300)
at
org.apache.cassandra.service.AbstractCassandraDaemon.start(AbstractCassandraDaemon.java:272)
at
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:369)
at
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
Caused by: org.apache.thrift.transport.TTransportException: Could not
create ServerSocket on address /107.21.80.94:9160.
at
org.apache.cassandra.thrift.TCustomServerSocket.<init>(TCustomServerSocket.java:80)
at
org.apache.cassandra.thrift.CassandraDaemon$ThriftServer.<init>(CassandraDaemon.java:141)
On Wed, Dec 12, 2012 at 3:34 AM, aaron morton <aaron@thelastpickle.com>wrote:
> Though I configured the listen_address with public dns, still I had the
> same issue.
>
> Internally the public DNS resolves to the private IP.
>
> looks like describe_ring() is the one which provides the details.
>
> describe_ring() returns includes the registered RPC addresses for the
> nodes. Trying setting the rpc_address to the public IP.
>
> Cheers
>
> -----------------
> Aaron Morton
> Freelance Cassandra Developer
> New Zealand
>
> @aaronmorton
> http://www.thelastpickle.com
>
> On 11/12/2012, at 11:32 PM, santi kumar <santi.kumar@gmail.com> wrote:
>
> We have a 4 node cluster in us-east region in two different AZ's. Clients
> connect to this cluster from our datacenter which is not on AWS.
>
> Hector clients are initialized with public DNS names, then listern_address
> is with private ip and rpc_address is with 0.0.0.0.
>
> Having issues with Node Auto Discovery by Hector. When it's trying to
> discover the ring, the end points are initialized with private IP's for all
> Token Ranges. It checks with the existing hosts (which are initialized
> public DNS) and thinks that there is a new node got added to the cluster.
>
> looks like describe_ring() is the one which provides the details. Though I
> configured the listen_address with public dns, still I had the same issue.
>
> Any idea, what is the best way to configure for EC2. Have gone through the
> link
>
> https://docs.google.com/document/d/175duUNIx7m5mCDa2sjXVI04ekyMa5bdiWdu-AFgisaY/edit?hl=en
>
> But not sure whether it's fixed in 1.1.4. When I run the nodetool ring, it
> gives the private ips. But in the above doc, it shows the public IPs as
> part of nodetool ring.
>
> Some insight into this is really helpful.
>
> Thanks
> Santi
>
>
>