Cassandra-cli无法连接到远程cassandra服务器

时间:2012-07-25 21:35:51

标签: java nosql cassandra thrift thrift-protocol

我在服务器(serv1)上运行cassandra服务器。 cassandra-cli可以在serv1上运行时连接到它。但是,当我尝试通过其他服务器(serv2)连接到它时,我得到以下异常:

org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
    at org.apache.thrift.transport.TSocket.open(TSocket.java:183)
    at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81)
    at org.apache.cassandra.cli.CliMain.connect(CliMain.java:80)
    at org.apache.cassandra.cli.CliMain.main(CliMain.java:256)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at org.apache.thrift.transport.TSocket.open(TSocket.java:178)
    ... 3 more
Exception connecting to jckstore/9160. Reason: Connection refused.

我查看了cassandra.yaml,发现属性“listen_address”配置为“localhost”,严禁使用0.0.0.0。我试图将localhost更改为serv2,serv1的ip地址,但没有任何效果。即使发表评论也没有帮助。

有没有办法可以让我的cassandra服务器监听所有的ip而不使用0.0.0.0

6 个答案:

答案 0 :(得分:12)

我能够解决以下问题:

  1. 将cassandra.yaml中的rpc_address属性更改为0.0.0.0而不是localhost。
  2. 将cassandra.yaml中的broadcast_rpc_address属性设置为0.0.0.0以外的值
  3. 然后我可以访问。

答案 1 :(得分:4)

Cassandra cli使用thrift连接到Cassandra。 rpc_address决定thrift客户端如何连接到Cassandra。将其设置为0.0.0.0将起作用,但将其设置为服务器的主机名,然后使用相同的主机名进行连接也将起作用。

答案 2 :(得分:0)

我也遇到了同样的问题,因为配置正确,我总是感到惊讶。最后,我发现这是许可问题:

chown -R cassandra: /var/lib/cassandra
chown -R cassandra: /var/log/cassandra

希望它有所帮助: - )

答案 3 :(得分:0)

我遇到了同样的问题。我通过更新snappy temp dir VM选项来指向正确的目录来解决这个问题。

VM_OPTS="$JVM_OPTS -Dorg.xerial.snappy.tempdir=/home/users/local/user/cassandra_home/snap

希望这有帮助!

答案 4 :(得分:0)

我也有同样的问题“拒绝连接”。将rpc_address从“localhost”更改为与listen_address相同的主机名为我工作。

答案 5 :(得分:0)

我也有同样的问题"连接被拒绝"。将start_rpc:更改为true为我修复了它。