2017-01-23 4 views
1

のは、私はすべてのノードが例えばcassandra.yaml で構成された(3フォルダを言うと)cassandraクラスタノードのデータディレクトリは同一であるべきですか?

data_file_directories: 
    - E:/Cassandra/data/var/lib/cassandra/data 
    - K:/Cassandra/data/var/lib/cassandra/data 
    - F:/Cassandra/data/var/lib/cassandra/data 

は、今の私は、クラスタに3番目のノードを追加するとしましょう、同一data_file_directoriesを持つ2ノードクラスタがあるとしましょう別のdata_file_directories(1つのフォルダなど)と

data_file_directories: 
    - B:/Cassandra/data/var/lib/cassandra/data 

間違っていますか?データの再バランス中に、既存のノードの3つのディレクトリからのデータが新しいノードの1つのディレクトリに流れますか?

答えて

3

ネイト・マッコール(現在はApacheカサンドラプロジェクト委員長)は、ここで同様の質問に答え:要するにHow does cassandra split keyspace data when multiple directories are configured?

を、これは問題ないはずです。カッサンドラは、そこに何人いるかにかかわらず、data_file_directoriesのエントリにデータを均等に分散します。さらに、ノードが担当するトークンの数はこの設定とは独立しているため、ホットスポットまたは不均衡は見られません(少なくともこのためではありません)。

言われていること、私は以下の点を追加します:

  • を彼らはマウントポイントを物理的に異なっている場合は、複数のデータディレクトリを指定することができます。このようにして、1つのディスクがいっぱいになるか、または予期せず失敗した場合でも、ノードは引き続き実行されます。
  • ノードを追加してそれらをすべて長期間保持する予定だったら、新しいノードの設定を元のノードのできる限り近くに指定します。これは、トラブルシューティングが必要な場合に、クラスタ内の特定のノードがどのように/どのように/なぜ異なるのかを覚えておく必要がないように、複数のノードとクラスタを担当する大きな環境で特に役立ちます。
  • 最後の点を除いて、私が前進している単一のデータディレクトリに移動することを決めたとします。しかし、既存のノードを廃止し、同様の構成を持つノードに置き換える予定もあります。

プロティップ:あなたは、シェフやスピンネーカーなどの自動展開ツールを使用しようとすることができます。そうすることで、新しいノードの設定は基本的に、クラスタ内の他のすべてのノードの「クッキーカッター」になります。

関連する問題