我有一个运行在服务器(serv1)上的cassandra服务器。当在serv1上运行时,cassandra-cli可以连接到它。然而,当我尝试通过其他服务器(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地址?