2012-11-09 7 views
6

カサンドラをスケールアップする方法についてはかなりの量の文書がありますが、これはカサンドラの「スケールを解除」してクラスターからノードを除去する方法についての良い資料ですか?ノードをオフにして、クラスタを再び同期させ、繰り返すことは簡単ですか?カサンドラクラスターを縮小する最良の方法

理由は、トラフィックが急増すると予想されるサイトで、毎日の数千回のヒットから数日かけて数十万に上ります。このサイトは、Webサーバー、Cassandraなどの複数のインスタンスを起動する前に、「ランプアップ」されます。要求の急流が解消したら、サーバーの代金を支払うのではなく、使用されていないインスタンスを無効にしますそれはちょうど周りに座っている。

答えて

6

ノードを停止し、クラスタの再調整を行うだけでは、削除されたノード上に存在し、まだ複製されていないデータが失われる危険性があります。

nodetoolを使用すると、安全なクラスタ縮小が簡単に実行できます。最初に、実行します。

nodetool drain 

...削除したノード上で、書き込みやフラッシュmemtablesの受け入れを停止し、その後:

nodetool decommission 

他のノードにノードのデータを移動し、ノードをシャットダウンするには

nodetool removetoken 

...ノードをクラスタから完全に削除するには、次のようにします。詳細な文書はここにあります:http://wiki.apache.org/cassandra/NodeTool

私の経験から、ノードを1つずつ削除することをお勧めします。それには時間がかかりますが、ネットワーク障害やハードウェア障害の場合はさらに安全です。

2

ノードを削除すると、クラスタのバランスをとって、ノードを新しいトークンに移動する必要があります。計画的なダウンスケールでは、次のようにする必要があります。

1 - 移動回数を最小限に抑えます。

2 - ノードを移動する必要がある場合は、転送されるデータの量を最小限に抑えます。役に立つかもしれクラスタ・バランスについての記事があります

Balancing Your Cassandra Cluster

はまた、this videoの初めはおよそノードを追加し、ノード操作とこれらの操作のそれぞれのクラスタへの影響を最小限に抑えるための最善の戦略を削除しています。

この2つのリファレンスは、あなたのダウンスケールを計画するのに十分な情報を提供します。

関連する問題