9

我有一个在服务器(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 服务器在不使用 0.0.0.0 的情况下监听所有 IP

4

6 回答 6

12

我能够解决以下问题:

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

然后我就可以访问了。

于 2012-07-25T22:45:58.733 回答
4

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

于 2012-07-26T20:45:10.470 回答
0

我也遇到了同样的问题,我一直很惊讶,因为它配置正确。最后,我发现这是权限问题:

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

希望能帮助到你 :-)

于 2012-10-26T17:06:56.970 回答
0

我有同样的问题。我通过更新 snappy temp dir VM 选项以指向正确的目录来解决此问题。

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

希望这可以帮助!

于 2015-01-12T12:36:49.690 回答
0

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

于 2015-03-02T01:00:18.180 回答
0

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

于 2016-09-20T23:14:28.180 回答