Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ElasticsearchのHA構成について

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 ElasticsearchのHA構成について

Avatar for 株式会社Curious Vehicle

株式会社Curious Vehicle

December 05, 2025
Tweet

Transcript

  1. クラスター構成 Master Node Data Node shard-1 shard-4 Data Node shard-2

    shard-5 Data Node shard-3 shard-6 Master Node • クラスタ設定の管理 • シャード配置の決定 • ノードの監視 • インデックス等のメタデータ 操作 Data Node • データの書き込み • 検索処理
  2. クラスター構成 Master Node Data Node shard-1 shard-4 Data Node shard-2

    shard-5 Data Node shard-3 shard-6 Master Node • クラスタ設定の管理 • シャード配置の決定 • ノードの監視 • インデックス等のメタデータ 操作 Data Node • データの書き込み • 検索処理 マスターノードが落ちると クラスターが停止するため冗長化必須
  3. 冗長化の仕組み (~6系) Master Node Master Node マスター Master Node マスター候補

    マスター候補 ルール① マスターノードは奇数にする ルール② minimum_master_nodes (最小マスターノード数) を正しい値に設定す る elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 ※3台の場合「2」
  4. 冗長化の仕組み (~6系) Master Node Master Node Master Node マスター候補 マスター候補

    elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 マスター ping ping ※3台の場合「2」 ①マスター停止を検知
  5. 冗長化の仕組み (~6系) Master Node Master Node Master Node マスター候補 マスター候補

    elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 マスター ※3台の場合「2」 ②最小ノード数を満たしているとき 次のマスターを選定
  6. 冗長化の仕組み (~6系) Master Node Master Node Master Node マスター候補 elasticsearch.yml

    discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 マスター候補 ※3台の場合「2」 ③ノードIDが小さい方が マスターに昇格 マスター
  7. 冗長化の仕組み (~6系) Master Node Master Node Master Node マスター候補 elasticsearch.yml

    discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 マスター候補 ※3台の場合「2」 ④復旧後はマスター候補にな る マスター
  8. 冗長化の仕組み (~6系) Master Node Master Node Master Node マスター候補 マスター候補

    elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 マスター ※3台の場合「2」 最小ノード数を満たさないので クラスターは停止する 2つノードが落ちた場合
  9. 冗長化の仕組み (~6系) elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 ※4台の場合「3」

    ルール① マスターノードは奇数にする Master Node Master Node Master Node Master Node
  10. 冗長化の仕組み (~6系) Master Node elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2)

    +1 ※4台の場合「3」 ルール① マスターノードは奇数にする Master Node Master Node Master Node 2:2に分断する可能性
  11. 冗長化の仕組み (~6系) Master Node elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2)

    +1 ※4台の場合「3」 ルール① マスターノードは奇数にする Master Node Master Node Master Node 最小ノード数を満たさないので クラスターは停止する
  12. 冗長化の仕組み (~6系) Master Node Master Node マスター候補 elasticsearch.yml discovery.zen.minimum_master _node:

    (マスターノード数 / 2) +1 マスター ※デフォルト「1」 ルール① マスターノードは奇数にする
  13. 冗長化の仕組み (~6系) Master Node elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2)

    +1 ※デフォルト「1」 ルール① マスターノードは奇数にする ping Master Node マスター 何らかでpingが失敗 マスター候補 Master Node ping
  14. Master Node マスター 冗長化の仕組み (~6系) Master Node elasticsearch.yml discovery.zen.minimum_master _node:

    (マスターノード数 / 2) +1 ※デフォルト「1」 ルール① マスターノードは奇数にする ping マスター マスター昇格 -> スプリットブレイン -> データの不整合・破損するリスク
  15. 冗長化の仕組み (~6系) elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 ルール②

    minimum_master_nodes を正しい値に設定する ※デフォルト「1」 Master Node Master Node マスター Master Node マスター候補 マスター候補
  16. 冗長化の仕組み (~6系) ルール② minimum_master_nodes を正しい値に設定する Master Node Master Node マスター

    Master Node マスター候補 マスター候補 elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 ※デフォルト「1」
  17. 冗長化の仕組み (~6系) ルール② minimum_master_nodes を正しい値に設定する Master Node Master Node Master

    Node マスター候補 マスター elasticsearch.yml discovery.zen.minimum_master _node: (マスターノード数 / 2) +1 ※デフォルト「1」 スプリットブレイン -> データの不整合・破損するリスク マスター
  18. 冗長化の仕組み (7系~) Master Node Master Node Master Node Master Node

    • マスター選挙が行われる • 投票権が自動的に与えられる(奇数) • 選挙で過半数を獲得するとマスターになれる マスター
  19. 冗長化の仕組み (7系~) Master Node Master Node Master Node Master Node

    マスター 過半数が見えない -> マスター辞退 マスターが見えない -> マスター選挙立候補
  20. 冗長化の仕組み (7系~) Master Node Master Node Master Node Master Node

    過半数が見えない -> マスター辞退 マスターが見えない -> マスター選挙立候補 スプリットブレインが起きない マスター
  21. 冗長化の仕組み (7系~) Master Node マスター Voting-only Node Master Node 2ノードの場合は

    過半数=2 が必要なため投票だけ行うノードを用意する