発見とクラスター形成の設定

発見とクラスター形成は、以下の設定に影響されます:

  • discovery.seed_hosts
  • (Static) クラスター内のマスター候補ノードのアドレスのリストを提供します。カンマで区切られたアドレスを含む単一の文字列でも構いません。各アドレスはhost:portまたはhostの形式です。hostは、DNSによって解決されるホスト名、IPv4アドレス、またはIPv6アドレスのいずれかです。IPv6アドレスは角括弧で囲む必要があります。ホスト名がDNSを介して複数のアドレスに解決される場合、Elasticsearchはそれらすべてを使用します。DNSルックアップはJVM DNSキャッシュの影響を受けます。portが指定されていない場合、次の設定を順に確認して決定されます:
    hebin-ul-start
    • transport.profiles.default.port
    • transport.port
      これらのいずれも設定されていない場合、デフォルトポートは9300です。discovery.seed_hostsのデフォルト値は["127.0.0.1", "[::1]"]です。discovery.seed_hostsを参照してください。
  • discovery.seed_providers
  • (Static) 発見プロセスを開始するために使用されるシードノードのアドレスを取得するために使用するシードホストプロバイダーのタイプを指定します。デフォルトでは、discovery.seed_hosts設定からシードノードのアドレスを取得する設定ベースのシードホストプロバイダーです。
  • discovery.type
  • (Static) Elasticsearchが複数ノードのクラスターを形成するかどうかを指定します。デフォルトはmulti-nodeで、これはElasticsearchがクラスターを形成する際に他のノードを発見し、後で他のノードがクラスターに参加することを許可することを意味します。single-nodeに設定されている場合、Elasticsearchは単一ノードのクラスターを形成し、cluster.publish.timeoutによって設定されたタイムアウトを抑制します。この設定を使用する場合の詳細については、単一ノードの発見を参照してください。
  • cluster.initial_master_nodes
  • (Static) 新しいクラスター内のマスター候補ノードの初期セットを設定します。デフォルトではこのリストは空であり、このノードはすでにブートストラップされたクラスターに参加することを期待しています。クラスターが形成されたらこの設定を削除し、このクラスターに対して再度設定しないでください。マスター候補でないノードにこの設定を構成しないでください。既存のクラスターに参加するノードにこの設定を構成しないでください。再起動中のノードにこの設定を構成しないでください。フルクラスター再起動を行う際にこの設定を構成しないでください。cluster.initial_master_nodesを参照してください。
    hebin-ul-end

エキスパート設定

発見とクラスター形成は、以下のエキスパートレベルの設定にも影響されますが、これらのデフォルト値を変更することは推奨されません。

これらの設定を調整すると、クラスターが正しく形成されないか、不安定になったり、特定の障害に対して耐性がなくなる可能性があります。

  • discovery.cluster_formation_warning_timeout
  • (Static) ノードがクラスターを形成しようとする時間を設定します。デフォルトは10sです。discovery.cluster_formation_warning_timeoutが経過した後にクラスターが形成されていない場合、ノードは発見プロセスの現在の状態を説明するmaster not discoveredというフレーズで始まる警告メッセージをログに記録します。
  • discovery.find_peers_interval
  • (Static) ノードが次の発見ラウンドを試みる前に待機する時間を設定します。デフォルトは1sです。
  • discovery.probe.connect_timeout
  • (Static) 各アドレスに接続しようとする際の待機時間を設定します。デフォルトは30sです。
  • discovery.probe.handshake_timeout
  • (Static) ハンドシェイクを介してリモートノードを識別しようとする際の待機時間を設定します。デフォルトは30sです。
  • discovery.request_peers_timeout
  • (Static) ピアに再度問い合わせた後、リクエストが失敗したと見なすまでの待機時間を設定します。デフォルトは3sです。
  • discovery.find_peers_warning_timeout
  • (Static) ピアを発見しようとする際に、接続試行が失敗している理由を説明する詳細なメッセージをログに記録し始めるまでの待機時間を設定します。デフォルトは3mです。
  • discovery.seed_resolver.max_concurrent_resolvers
  • (Static) シードノードのアドレスを解決する際に実行する同時DNSルックアップの数を指定します。デフォルトは10です。
  • discovery.seed_resolver.timeout
  • (Static) シードノードのアドレスを解決する際に実行される各DNSルックアップの待機時間を指定します。デフォルトは5sです。
  • cluster.auto_shrink_voting_configuration
  • (Dynamic) 投票設定が、少なくとも3ノードを含む限り、離脱したノードを自動的に除外するかどうかを制御します。デフォルト値はtrueです。falseに設定されている場合、投票設定は自動的に縮小せず、離脱したノードを手動で投票設定除外APIで削除する必要があります。
  • cluster.election.back_off_time
  • (Static) 各選挙の失敗ごとに選挙前の待機時間の上限を増加させる量を設定します。これは線形バックオフであることに注意してください。デフォルトは100msです。この設定をデフォルトから変更すると、クラスターがマスターノードを選出できなくなる可能性があります。
  • cluster.election.duration
  • (Static) 各選挙が失敗と見なされるまでに許可される時間を設定します。デフォルトは500msです。この設定をデフォルトから変更すると、クラスターがマスターノードを選出できなくなる可能性があります。
  • cluster.election.initial_timeout
  • (Static) ノードが最初の選挙を試みる前に、初期的に待機する時間の上限を設定します。これは、選出されたマスターが失敗した後の待機時間にも適用されます。デフォルトは100msです。この設定をデフォルトから変更すると、クラスターがマスターノードを選出できなくなる可能性があります。
  • cluster.election.max_timeout
  • (Static) ネットワークパーティションが長時間続く場合に、過度にまばらな選挙が発生しないように、最初の選挙を試みる前にノードが待機する時間の最大上限を設定します。デフォルトは10sです。この設定をデフォルトから変更すると、クラスターがマスターノードを選出できなくなる可能性があります。
  • cluster.fault_detection.follower_check.interval
  • (Static) 選出されたマスターがクラスター内の各ノードに対してフォローチェックの間に待機する時間を設定します。デフォルトは1sです。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.fault_detection.follower_check.timeout
  • (Static) 選出されたマスターがフォローチェックに対する応答を受け取るまでの待機時間を設定します。デフォルトは10sです。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.fault_detection.follower_check.retry_count
  • (Static) 選出されたマスターが、各ノードに対して故障と見なすために必要な連続したフォローチェックの失敗数を設定します。デフォルトは3です。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.fault_detection.leader_check.interval
  • (Static) 各ノードが選出されたマスターのチェック間に待機する時間を設定します。デフォルトは1sです。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.fault_detection.leader_check.timeout
  • (Static) 各ノードが選出されたマスターからリーダーチェックに対する応答を受け取るまでの待機時間を設定します。デフォルトは10sです。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.fault_detection.leader_check.retry_count
  • (Static) 選出されたマスターが故障していると見なすために必要な連続したリーダーチェックの失敗数を設定します。デフォルトは3です。この設定をデフォルトから変更すると、クラスターが不安定になる可能性があります。
  • cluster.follower_lag.timeout
  • (Static) マスターノードが遅延ノードからクラスター状態の更新に対する確認を受け取るまでの待機時間を設定します。デフォルト値は90sです。この期間内にノードがクラスター状態の更新を正常に適用できない場合、そのノードは失敗したと見なされ、クラスターから削除されます。クラスター状態の公開を参照してください。
  • cluster.max_voting_config_exclusions
  • (Dynamic) 一度に投票設定の除外数に制限を設定します。デフォルト値は10です。クラスター内のノードの追加と削除を参照してください。
  • cluster.publish.info_timeout
  • (Static) マスターノードがすべてのノードにクラスター状態の更新が完全に公開されるまで待機する時間を設定します。デフォルト値は10sです。
  • cluster.publish.timeout
  • (Static) discovery.typesingle-nodeに設定されていない限り、マスターノードがすべてのノードにクラスター状態の更新が完全に公開されるまで待機する時間を設定します。デフォルト値は30sです。クラスター状態の公開を参照してください。
  • cluster.discovery_configuration_check.interval
  • (Static) 不正な発見設定について警告をログに記録するチェックの間隔を設定します。デフォルト値は30sです。
  • cluster.join_validation.cache_timeout
  • (Static) ノードがクラスターに参加するリクエストを行うと、選出されたマスターノードは最近のクラスター状態のコピーを送信し、新しいノードがクラスターに参加できない可能性のある問題を検出します。マスターは送信した状態をキャッシュし、他のノードがすぐにクラスターに参加した場合はキャッシュされた状態を使用します。この設定は、マスターがこのキャッシュをクリアするまでの待機時間を制御します。デフォルトは60sです。

  • cluster.no_master_block
  • (Dynamic) クラスターにアクティブなマスターがない場合に拒否される操作を指定します。この設定には3つの有効な値があります:
    • all
    • ノード上のすべての操作(読み取りおよび書き込み操作の両方)が拒否されます。これは、インデックス設定の取得、マッピングの更新、クラスター状態APIなどのAPIクラスター状態の読み取りまたは書き込み操作にも適用されます。
    • write
    • (デフォルト)書き込み操作が拒否されます。読み取り操作は、最後に知られているクラスター構成に基づいて成功します。この状況は、このノードがクラスターの他の部分から孤立している可能性があるため、古いデータの部分的な読み取りを引き起こす可能性があります。
    • metadata_write
    • メタデータの書き込み操作(例:マッピングの更新、ルーティングテーブルの変更)のみが拒否されますが、通常のインデックス操作は引き続き機能します。読み取りおよび書き込み操作は、最後に知られているクラスター構成に基づいて成功します。この状況は、このノードがクラスターの他の部分から孤立している可能性があるため、古いデータの部分的な読み取りを引き起こす可能性があります。
    • cluster.no_master_block設定はノードベースのAPI(例:クラスター統計、ノード情報、ノード統計API)には適用されません。これらのAPIへのリクエストはブロックされず、利用可能なノードで実行できます。
    • クラスターが完全に機能するためには、アクティブなマスターが必要です。
  • monitor.fs.health.enabled
  • (Dynamic) trueの場合、ノードは定期的なファイルシステムの健康チェックを実行します。デフォルトはtrueです。
  • monitor.fs.health.refresh_interval
  • (Static) 連続するファイルシステムの健康チェックの間隔。デフォルトは2mです。
  • monitor.fs.health.slow_path_logging_threshold
  • (Dynamic) ファイルシステムの健康チェックがこの閾値を超えると、Elasticsearchは警告をログに記録します。デフォルトは5sです。