9

新しいホストを Cassandra クラスターに動的に追加することはできますか?

私がやろうとしているのは、次のことができるプログラムをセットアップすることです。

  • ユーザーごとにデータベースのローカル バージョンをセットアップする
  • 各ユーザーのマシンはクラスターの一部になります (マシンはホストになります)
  • データはすべてのクラスタに複製されます

通常、複数のホストのクラスターを構築するには、各ホストのシード、listen_address、および rpc_address を格納するように cassandra.yaml を構成する必要があります。

私の考えは、これらのファイルを Java で編集し、必要に応じて新しいホスト アドレスを挿入することですが、各ユーザーの cassandra.yaml ファイル全体でデータが正確であることを確認するのは困難です。

誰かが同様のことをしたか、これを達成するためのより良い方法についてアドバイスがあるかどうか疑問に思っています。

4

1 に答える 1

4

はい、可能です。動的 cassandra クラスター管理の完全な例については、Netflix の Priamを参照してください(ただし、Amazon EC2 で動作するように設計されています)。

rpc_address と listen_address については、問題があれば cassandra.yaml を構成する起動スクリプトをセットアップできます。

シードの場合、カスタム シード プロバイダーを構成できます。実装方法については、Netflix の Priam に使用されているシード プロバイダーを参照してください。

最も難しい部分は、各ノードに割り当てられたトークンを効率的に管理することです。Cassandra 1.2 が間もなく登場し、仮想ノードと呼ばれる機能が含まれます。IMO は、あなたのケースでうまく機能します。それについての Acunu のプレゼンテーションを参照してください。

于 2012-11-07T13:23:14.187 に答える