サーバー(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 アドレスに変更しようとしましたが、何も機能しませんでした。コメントアウトしても役に立ちませんでした。
0.0.0.0 を使用せずに cassandra サーバーにすべての IP をリッスンさせる方法はありますか