私は新しいcassandraユーザーです。トークンの初期構成とその生成方法があることを知っています。問題は、xノードの既存のクラスターがあり、ノード(1つ以上)を追加したい場合、すべてのノードを新しいトークンに再構成する必要があるかどうかです(新しく生成された値に従って)?
または、これを管理するためのより効率的な方法はありますか?
私は新しいcassandraユーザーです。トークンの初期構成とその生成方法があることを知っています。問題は、xノードの既存のクラスターがあり、ノード(1つ以上)を追加したい場合、すべてのノードを新しいトークンに再構成する必要があるかどうかです(新しく生成された値に従って)?
または、これを管理するためのより効率的な方法はありますか?
このようなタスクを処理するためのベストプラクティスを探している場合は、トークン戦略専用のCassandra1.0ドキュメントのこのセクションを参照してください。
ドキュメントからのオプションの短縮バージョン:
- クラスタサイズを2倍にして容量を追加します- [..]ノードは既存のトークン割り当てを維持でき、新しいノードには既存のトークン範囲を2等分(または3等分)するトークンが割り当てられます。
- すべてのノードの新しいトークンを再計算し、ノードを移動します- [..]クラスター全体のトークンを再計算する必要があります。既存のノードでは、nodetoolmoveを使用して新しいトークンを割り当てる必要があります。
- 一度に1つのノードを追加し、initial_tokenを空のままにします- [..]は、最も重いロードされたノードのトークン範囲を分割し、新しいノードをその位置のリングに配置します。[..]完全にバランスの取れたリングにはなりませんが、ホットスポットは軽減されます。リンク
管理ソリューションを探しているなら、Priam(Netflixから)は一見の価値があるかもしれません。これはオープンソースでApacheライセンスですが、ある程度の構成が必要であり、おそらく大規模なクラスターに投資するだけの価値があります。