2016-04-05 12 views
2

OpenJDK 1.8を使用してUbuntu 15.10でテスト用Cassandra 3.3クラスタをセットアップしようとしています。 Cassandraはループバックインターフェイス上でのみリッスンするため、ノードは互いに通信できません。netstatが表示されます。Cassandraがリッスンするインターフェイスの設定方法は?

tcp  0  0 127.0.0.1:7199   0.0.0.0:*    LISTEN  
tcp6  0  0 127.0.0.1:9042   :::*     LISTEN 

/etc/cassandra/cassandra.ymlに外部IPアドレスを挿入しようとしました。

  • listen_address:私は、実際の外部IPアドレスを試してみましたが、空のフィールドを残して。

  • rpc_address:実際の外部IPアドレスと0.0.0.0を試しました。

また、/etc/cassandra/cassandra-env.shの次の部分を変更してみました。

JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<actual external IP address>" 

各変更の間に、/ var/lib/cassandra/data/systemを削除してサービスを再開します。

Cassandraがリッスンするインターフェイスを設定するにはどうすればよいですか?

答えて

3

rpc_addressは、外部アプリクライアントがCassandraとの接続に使用するアドレスです。

listen_addressは、カッサンドラが他のカサンドラノードに接続するために使用するアドレスです。

あなたのノードがそのIP上で通信できることを確認します。具体的には、Cassandraは、ノード間通信にポートを使用します(ノード間SSLを使用する場合は7001)。これをテストする最善の方法はtelnetです。それが動作する場合、これはあなたが見るものです:だから

$ telnet 192.168.0.101 7000 
Trying 192.168.0.101... 
Connected to 192.168.0.101. 
Escape character is '^]'. 

Iだろう:彼らができる場合は、ノードがポート7000

  • 上で互いに通信できるかどうかをアウト

    1. 図それぞれのcassandra.yamlのlisten_addressのようにお互いに見えるIPを設定します。
    2. おそらく、これらのうちの1つをシードノードとして選択することもできます。
  • +2

    私はあなたの答えをアップアップして選択しました。これは正しいためです。しかし、私の問題は、ファイル名(yamlではなく/etc/cassandra/cassandra.yml)のタイプミスでした。あなたの答えは、私の設定が正しいという確信を与えてくれました。また、私は遅く作業を停止する必要があります。 – marcv81

    関連する問題