2012-07-25 12 views
9

私はサーバー(serv1)上で実行しているcassandraサーバーを持っています。 serv1で実行すると、cassandra-cliに接続できます。しかし、私はいくつかの他のサーバ(SERV2)を介して、それに接続しようとすると、私は次の例外を取得:Cassandra-cli cantはリモートのcassandraサーバーに接続します

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を使用することは厳しく推奨されていません。私はlocal1をserv2に変更しようとしましたが、serv1のIPアドレスは変更されましたが、何も機能しませんでした。コメントしなくても助けになりました。

は私のカサンドラサーバ作ることができる方法はあります私は、次のような問題を解決することができました0.0.0.0

答えて

12

を使用せずにすべてのIPの上で聞く:

  1. カサンドラでrpc_addressプロパティを変更します.yamlをlocalhostではなく0.0.0.0に変更します。
  2. 0.0.0.0

以外の値にcassandra.yamlでbroadcast_rpc_addressプロパティを設定その後、私はアクセスすることができます。

+1

0.0.0.0以外はどういう意味ですか?何を設定しましたか? – KingOfHypocrites

+0

yamlファイルでは、コメント内のアドレスは1.2.3.4です。私はそれを255.255.255.255に設定し、うまくいきました...少なくとも今は – Lewen

4

カサンドラクリスはカサンドラに接続するために倹約を使用します。 rpc_addressは、リサイクルクライアントがCassandraに接続する方法を決定します。 0.0.0.0に設定すると動作しますが、サーバのホスト名に設定してから同じホスト名を使用して接続することもできます。

0

私も同じ問題がありました。正しく設定されていたので、私はいつも驚いていました。最後に、私はそれが権限の問題だったが分かった:

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

はそれが私は同じ問題を抱えていた:-)

0

お役に立てば幸いです。私は、適切なディレクトリを指すように、一時的なdir VMオプションを更新することでこれを修正しました。

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

0

私は同じ問題 "Connection refused"も持っていました。 rpc_addressを "localhost"からlisten_addressと同じホスト名に変更すると、私のために働きました。

0

私は同じ問題 "Connection refused"も持っていました。 start_rpcをtrueに変更すると、私のために修正されました。

関連する問題