So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

インフラエンジニアのためのCassandra情報 ノードの追加 [Cassandra]

Cassandraのノード取り扱いについて少し取り上げてみます。
Cassandraを複数ノードで起動する方法については、あちこちで既に紹介されているよう
なので、ここでは既に運用中のCassandraクラスタに新規にノードを追加したり、取り外す
場合について書いておきます。
まずは、ノードの追加から。
ノードを追加する場合は、追加するノード側の設定ファイルを書き換えます。動いている
クラスタ側には何もすることがありません。
追加したいノードのstorage-conf.xmlを編集します。
Autobootstrap欄をtrueに変更します。
true

これをtrueにすると、以下に指定するSeed欄に記入されたアドレスを使って、クラスタへ
参加する処理が開始されます。
ついでに言っておくと、クラスタ中で最初に起動するノードは、他に動いているノードが
無いはずなので、参加処理は必要なく、ここはfalseと指定します。
Seed欄に、クラスタ側で稼動中のノードのどれかのアドレスを指定します。どれでも
かまいません。稼動中の全リストを並べる必要はありません。(並べてもかまいませんが)
ここに記入したアドレスから、クラスタに参加するのに必要な情報をやり取りします。
いったんクラスタに参加してしまうと、情報の受け渡しは、ここに記したアドレス以外の
他のノードから行われるかもしれません。Seed欄に指定したアドレスは参加する時にしか
使いません。なので、一旦参加してしまえば、Seed欄に指定したノードは停止したとして
も問題ありません。(Cassandraの場合は、常に起動しておくノードを想定する必要はない)
Seedは最初わかりにくいのですが、お友達のアドレスを書いておくものと思っておけば
良いでしょう。既に起動中のお友達グループに入りたい場合は、そのグループの誰かを
知っていさえいれば、あとは「お友達のお友達はみなお友達・・・」と自然にグループが作られ
ます。最初に起動するノードについて言えば、「自分」と誰か「他のお友達」のアドレスを書
いておけば、他のノードはグループのお友達誰かを知っていさえすれば良い。
話を元に戻して、
10.0.0.1

IPアドレスでなくホスト名で書く場合は、そのホスト名で相手に繋がるか確認しておきましょう。
(指定を変更しないかぎり、7000番ポートで待ち受けている)
ThriftAddress欄は、このノードがクライアントアプリケーションからどのように接続される
かで指定が変わります。クライアントから直接接続されることが無いなら、localhostのままで
良いでしょう。また、常にlocalhostから接続されて、アプリケーションでの接続指定も
「localhost」であるならlocalhostのままで良いでしょう。他のノードまたは、クラスタ外の
別ホストから接続される場合は、ノード外から認識できるこのノードのアドレスを
ThriftAddress欄に記入します。
localhost

その他のキースペース設定やパラメータ類は、基本的に参加する他のノードに合わせておきます。
設定が終わったら、サービスを起動します。
Seedに指定したノードとの通信が完了したら、数分でクラスタノードから新しいノードが
見えるようになるはずです。(nodetoolのringで確認できる)

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は180日以上新しい記事の更新がないブログに表示されております。