6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Elasticsearchクラスタ検証(6): クラスタの基本構成

Last updated at Posted at 2022-08-16
[前回] Elasticsearchクラスタ検証(5): Elasticsearchシステム構成の基本

はじめに

Elasticsearchクラスタの基本構成と用語をおさらいします。

Elasticsearchクラスタとは

  • 各ノードが固有の役割を持ち、お互い通信しながら協調動作

image.png

※ 引用元: https://raw.githubusercontent.com/exo-addons/exo-es-search/master/doc/images/image_05.png

ノードの種類と役割

  • Master(Master-eligible)ノード
    • Masterノードはクラスタのリーダー
      • クラスタ管理を担当し、クラスタに必ず1台存在
    • Master-eligibleはリーダー候補
      • Masterノードがダウンしたら、Master-eligibleから選出
    • 役割
      • 全ノードの管理(参加、離脱、生死)
      • クラスタメタデータの管理
      • シャードの管理(割り当て、再配置)
  • Dataノード
    • データ格納を担当
    • Luceneインデックスファイルのマージ
    • クライアントからのインデックスリクエストをハンドリング
      • 格納対象シャード番号を決定し、処理をルーティング
    • クライアントからの検索リクエストのハンドリング
      • 関係する複数ノードのシャードへ処理をルーティング(scatter)
      • 各ノードの結果を集約し返却(gather)
  • Ingestノード
    • クライアントからのデータに対し前処理を行う
    • パイプラインを定義可能
  • Coordinatingノード
    • クライアントからのリクエストのハンドリングのみ行うための専用ノード
      • scatter
      • gather
    • 役割
      • 負荷分散
      • Aggregateなど高負荷処理を切り出す

Masterノード選出とノードのクラスタ参加

クラスタブートストラップを設定

  • クラスタの最初の形成時のみ必要
  • Masterノードは投票によって選出される
    • 投票設定として、Master-eligibleノードの初期セットの設定が必要
  • 設定方法(elasticsearch.yml)
    • cluster.initial_master_nodes
  • 各ノードで投票設定の共有
    • クラスタ参加済みノードは、データフォルダ内に投票設定を格納し再利用
    • 新規参加ノードは、選出されたMasterノードから情報を受け取る

ディスカバリサブシステムを設定

  • ノードがお互いを見つけられるようにするための設定
  • 設定方法(elasticsearch.yml)
    • discovery.seed_hosts
    • discovery.seed_providers

スプリットブレインの問題

  • スプリットブレインとは

ネットワーク障害などによりクラスタが二つに分断され、
それぞれMasterノードを持つ複数クラスタになってしまう事象

  • Masterノードの表記

  • スプリットブレイン前は1つのクラスタ

    • { [node1◆] [node2] [node3] [node4] }
      • Masterノードは、node1
  • スプリットブレイン後は二つのクラスタ

    • { [node1◆] [node2] }
      • Masterノードは、node1
    • { [node3◆] [node4] }
      • Masterノードは、node3

おわりに

Elasticsearchクラスタの基本構成と用語をおさらいしました。
次回も続きます。お楽しみに。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?