cassandraクラスターを見ていますが、管理の労力がかなり高いようです。ノードを新しいものとして自動的にリバランスするようにCassandraを構成する方法はありますか?マシンが追加されたり、一部がオフになったり、一時的に使用できなくなったりしますか?
Cassandraは、新しいノードを追加すると、実際にはノードのバランスを自動的に再調整します。あまり洗練されたアプローチではありません。 「負荷」が最も高いノードを選択し(nodetool ringの出力を参照)、新しいノードをリングに配置して、最も負荷の高いノードの作業の約半分を引き継ぎます。これはクラスター全体のリバランスを実行しませんが、クラスターの拡張に必要なストリーミング負荷を最小限に抑えます。この自動バランシング戦略は、拡張ごとにクラスターのサイズをほぼ2倍にする場合に最適に機能する傾向があります。
より微妙なリバランスが必要な場合は、「nodetoolmove」コマンド(実際にはノードの廃止と再追加のラッパー)を使用して、リング上のノードの位置を移動できます。
トークンの割り当ては現在静的であるため、まだです。 http://wiki.Apache.org/cassandra/Operations#Ring_management に従ってバランシング動作をスクリプト化するか、自動ブートストラップを使用してクラスターのサイズを一度に2倍にするかを選択できます。現時点では、どちらのオプションも正確に魅力的ではありませんが、データの移行に十分な時間があれば、ノードを追加してトークンを移動することは恐ろしいことではありません。
nodetool loadbalance
に注意することの1つは、あなたが思っていることを実行しないことです。