2

これらのインスタンスを指す 3 つの Elastic IP アドレスを持つ 3 つのインスタンスを作成しました。

dsc の yum インストールを実行しました: dsc12.noarch 1.2.13-1 @datastax

また、/etc/cassandra/default.conf/cassandra.yaml には次のものがあります: - シード: [エラスティック IP リスト]

しかし、「service cassandra start」で cassandra を起動すると、/var/log/cassandra/cassandra.log に次のように表示されます: ... 起動中に例外が発生しました: シードに接続できません! ...そして、確かに「nodetoolステータス」は次のように表示されます:「127.0.0.1:7199」への接続に失敗しました:接続が拒否されました

BUT: インスタンスの「プライベート IP」を使用するようにシードの値を変更すると、cassandra は問題なく起動します。Elastic IP で問題なく動作すると思いますが、そうではありません。

それがなぜなのか知っていますか?

Elastic IP を機能させたい理由は、事前に IP アドレスを知っているためです。これにより、マシンに Puppet をプロビジョニングするときに、cassandra.yaml ファイルにシードを事前に設定できます。マシンが起動するまで、プライベートIPアドレスはわかりません:(

これは、Elastic IP アドレスを使用した Amazon EC2 上の Cassandraのほぼ複製です。

4

1 に答える 1

6

あなたの問題は、シード IP がノードのブロードキャスト IP と同じではないことに起因すると思います。これを変更するには、各 Cassandra.yaml の次の行を変更します。

# Address to broadcast to other Cassandra nodes
# Leaving this blank will set it to the same value as listen_address
broadcast_address: <node's elastic ip> #uncomment this line
于 2014-01-27T20:57:29.597 に答える