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

  显示原文与译文双语对照的内容
0 0

我有一个cassandra服务器在 server(serv1) 上运行。 cassandra可以在serv1上运行时连接到它。 但是,当我尝试通过其他 server(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 将严重不建议。 我试图将本地主机改为 serv2,serv1的ip地址,但没有任何作用。 甚至注释没有帮助。

是否有办法让我的cassandra服务器在不使用 0.0.0.0的情况下监听所有的ip

时间: 原作者:

0 0

我可以解决以下问题:

  1. 将 cassandra.yaml 中的rpc_address属性更改为 0.0.0.0 而不是 localhost 。
  2. 将 cassandra.yaml 中的broadcast_rpc_address属性设置为除 0.0.0.0 以外的值

那我就可以。

0 0

Cassandra cli使用 Thrift 连接到 Cassandra 。 rpc_address决定 Thrift 客户机如何连接到 Cassandra 。 将它设置为 0.0.0.0 可以工作,但是将它设置为服务器的主机名,然后使用相同的主机名连接也可以工作。

原作者:
0 0

我也有同样的问题,而且我一直感到惊讶,因为它被正确配置。 最后,我发现它是许可问题:


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

希望它有帮助:- )

0 0

我也有同样的问题。 通过更新snappy的临时目录VM选项来指向正确的目录,我修正了这一点。


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

希望有帮助!

0 0

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

...