O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Virtual nodeについて

3.516 visualizações

Publicada em

第24回Cassandra勉強会 virtual nodeについて

Publicada em: Tecnologia
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2F90ZZC ❤❤❤
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Sex in your area is here: ♥♥♥ http://bit.ly/2F90ZZC ♥♥♥
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Virtual nodeについて

  1. 1. Virtual Nodeについて 2012年11月16日
  2. 2. 自己紹介 関 あつお 株式会社INTHEFOREST エンジニア 職歴 OSS関係の会社に入社後その会社が潰れ その後 某レストラン検索サイトで4,5年派遣として働く
  3. 3. Virtual Node ?Virtual Node はCassandra1.2に追加予定でもVirtual Nodeって何?ノードの仮想化でもするの? ↓一つのノードで複数のトークンを持てるようにする
  4. 4. トークンについておさらいCassandraのノードのトークン リング一周 0 ~ 2^127 値によってリングのどこ に位置するデータか決ま ノード1 る ノード6 ノード2RowKey パーテショ ナー ノード5 ノード3 ノード4 RowKeyの値を変換 ノードが持つトークンの値から次 のノードのトークンの値までがそ のノードが扱うレンジになる
  5. 5. データ量の偏りの修正 ノードごとに偏り直すのめんどくさいよね ノード1 ノード1 ノード2 ノード6 ノード2 ノード6 ノード3 ノード5 ノード3 ノード4 ノード5 ノード4 Moveしたらノード2、3が肥大化2^127を6で割って均等にmovemovemove.. データ偏ってるからまたmove….
  6. 6. Cassandra 1.2(beta) の Virtual Node一つのノードで複数のトークンをランダムに持つ事で複数のレンジを扱い分散化 cassandra.yaml の num_tokens の値を設定する事でできる 以下は6に設定した場合 ノード1 ノード1 ノード1 ノード1 ノード1 ノード1
  7. 7. Virtual Node複数のノードでVirtual Node ノード3つでそれぞれ token_num : 6 と設定 ノード1 ノード3 ノード2 ノード3 ノード2 ノード1 ノード3 ノード3 ノード2 ノード1 ノード1 ノード3 ノード1 ノード2 ノード1 ノード3 一つのノードのトークンの数を増やせば増やすほど 比較的、平均に負荷分散が行える ノード2 ノード3 ノード2 ノード1 ノード2
  8. 8. 利点 いずれかのノードに障害が発生した場合は 負荷がリング内のノード全てに分散されます ノード1 ノード3 ノード2 ノード3 ノード2 ノード3 ノード2 ノード3 ノード2 ノード3 ノード3 ノード3ノード1 ノード3 ノード1 ノード2ノード1 ノード2 ノード1 ノード3 ノード3 ノード3 ノード2 ノード3 ノード2 ノード2 ノード2 ノード1 ノード2 ノード2
  9. 9. 利点ノードを追加した際に隣のノードだけではなくほぼ全てのノードからデータを取得します ノード1 ノード3 ノード2 ノード3 ノード2 ノード3 ノード2 ノード3 ノード2 ノード3 ノード3ノード3 ノード3 ノード1 ノード1 ノード2 ノード2 ノード1 ノード1 ノード3 ノード3 ノード3 ノード2 ノード3 ノード2 ノード2 ノード2 ノード1 ノード2 ノード2
  10. 10. 利点?ノードに割り当てるトークンの数によって負荷を変更できる ノード2、3が6つのトークンに対し ノード1を2つにしてノード1の負荷を下げて ノード3 ノード2 ノード3 ノード2 ノード3 ノード3 ノード1 ノード1 ノード2 ノード3 ノード3 レンジの範囲ではなく ノード2 ノード2 トークンの数によって負荷決定が行える ノード2
  11. 11. 実際にやってみるcassandra.yaml の num_tokensを設定するだけ(デフォルトだとコメントアウトされている)
  12. 12. 実際にやってみるringの状態
  13. 13. なぜ ランダム なのか・・・・自動的にmoveしてくれれば・・・ランダムではなく割合で固定はダメなのか? ↓なんでもノードごとのメタ情報増えたりネットワークが重たくなるからランダムが良いそうで
  14. 14. 現状1.2(bata)における不憫な点など・Replicationがおかしい・・・?・トークンのmoveが出来ない・・・ →そういう仕様?(トークンのシャッフルツールは加わるが・・・) まあBetaだから仕方がない 今後に期待しましょう
  15. 15. ちなみにシャッフルツール?既存のトークンをどのノードに渡すかランダムに設定
  16. 16. ご清聴ありがとうございました

×