English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Elasticsearchは多くのモジュールで構成されており、これらのモジュールは機能を担当します。これらのモジュールには以下の2つの種類の設定があります:
静的設定−Elasticsearchを起動する前に、config(elasticsearch.yml)ファイルでこれらの設定を構成する必要があります。設定の変更を反映するために、クラスタ内のすべての注目ノードを更新する必要があります。
動的設定 −これらの設定はリアルタイムのElasticsearchで設定できます。
以下の各節でElasticsearchの異なるモジュールについて説明します。
クラスタレベルの設定は、分片を異なるノードに割り当て、クラスタの再バランスを取るために分片を再割り当てることを決定します。以下は分片割り当てを制御する設定です。
設定 | 可能な値 | 説明 |
---|---|---|
cluster.routing.allocation.enable | ||
all | このデフォルト値では、すべての種類の分片に対する割り当てが許可されます。 | |
primaries | メイン分片に対する分片の割り当てのみ許可されます。 | |
new_primaries | 新しいインデックスのメイン分片に対する分片の割り当てのみ許可されます。 | |
none | どんな分片の割り当ても許可されません。 | |
cluster.routing.allocation.node_concurrent_recoveries | 数値(デフォルト値)2) | 並行してインデックスの回復を行う数が制限されます。 |
cluster.routing.allocation.node_initial_primaries_recoveries | 数値(デフォルト値4) | 並行して初期メインリカバリの数が制限されます。 |
cluster.routing.allocation.same_shard.host | ブール値(デフォルトはfalse) | 同じ物理ノード内で同一分片の複数のコピーに分配される制限があります。 |
index.recovery.concurrent_streams | 数値(デフォルト値3) | これにより、ピアからインデックスの回復を行う際に各ノードでオープンするネットワークストリームの数が制御されます。 |
index.recovery.concurrent_small_file_streams | 数値(デフォルト値2) | これにより、インデックスの回復時のサイズが小さい5各ノード上でオープンするストリームの数。 |
cluster.routing.rebalance.enable | ||
all | このデフォルト値はすべての種類の分片のバランスを許可します。 | |
primaries | これは主要分片の分片バランスのみを許可します。 | |
replicas | これは複製分片の分片バランスのみを許可します。 | |
none | これは任何形式の分片バランスを許可しません。 | |
cluster.routing.allocation .allow_rebalance | ||
always | このデフォルト値は常に再バランスを許可します。 | |
indexs_primaries_active | これはクラスター内のすべての主要分片が割り当てられる際に再バランスを許可します。 | |
Indices_all_active | これはすべての主要分片と複製分片が割り当てられる際に再バランスを許可します。 | |
cluster.routing.allocation.cluster _concurrent_rebalance | 数値(デフォルト値2) | これはクラスター内の並行分片バランスの数を制限します。 |
cluster.routing.allocation .balance.shard | 浮動小数点数(デフォルト値0.45f) | これは各ノードに割り当てられる分片の重み係数を定義します。 |
cluster.routing.allocation .balance.index | 浮動小数点数(デフォルト値0.55f) | これは特定のノードに割り当てられた各インデックスの分片数の比率を定義します。 |
cluster.routing.allocation .balance.threshold | 非負浮動小数点数(デフォルト値1.0f) | これは実行するべき操作の最小最適化値です。 |
設定 | 可能な値 | 説明 |
---|---|---|
cluster.routing.allocation.disk.threshold_enabled | ボルン値(デフォルトはtrue) | これにより、ディスク割り当て決定プロセスを有効・無効にします。 |
cluster.routing.allocation.disk.watermark.low | 文字列値(デフォルトは85%) | これはディスクの最大使用率を意味しており、その後は他の分片をそのディスクに割り当てられなくなります。 |
cluster.routing.allocation.disk.watermark.high | 文字値(デフォルト値90%) | これは割り当て時の最大使用量を意味しており、この点に達するとElasticsearchはその分片を別のディスクに割り当てます。 |
cluster.info.update.interval | 文字値(デフォルト30s) | これは2回のディスク使用状況チェックの間隔です。 |
cluster.routing.allocation.disk.include_relocations | ボルン値(デフォルトでは true) | これは、現在割り当てられているシェードを考慮してディスク使用率を計算するかどうかを決定します。 |
このモジュールはクラスタ内のすべてのノードの状態を検出し、維持するのに役立ちます。クラスタからノードを追加または削除すると、クラスタの状態が変更されます。クラスタ名の設定は、異なるクラスタ間の論理的な違いを作成するために使用されます。以下のAPIを使用して、クラスタを管理するモジュールがあります-
Azureディスコバリー
EC2ディスコバリー
Googleコンピュートエンジンディスコバリー
禅Zenディスコバリー
このモジュールはクラスタ全体の再起動時にクラスタの状態とシェードデータを維持します。以下はこのモジュールの静的設定です-
設定 | 可能な値 | 説明 |
---|---|---|
gateway.expected_nodes | 数値(デフォルトは0) | クラスタ内でリカバリを行うローカルシェードを含むノードの数です。 |
gateway.expected_master_nodes | 数値(デフォルトは0) | リカバリを開始する前に、クラスタ内で予期されるマスターノードの数です。 |
gateway.expected_data_nodes | 数値(デフォルトは0) | リカバリを開始する前に、クラスタ内で予期されるデータノードの数です。 |
gateway.recover_after_time | 文字列値(デフォルトは5m) | これは2回のディスク使用状況チェックの間隔です。 |
cluster.routing.allocation. disk.include_relocations | ボルン値(デフォルトはtrue) | これはリカバリプロセスが開始するまでの待機時間を指定します。クラスタに参加するノードの数に関わらずです。 gateway.recover_after_nodes |
このモジュールはHTTPクライアントとElasticsearch API間の通信を管理します。このモジュールを無効にするには、http.enabledをfalseに変更できます。
以下はこのモジュールを制御する設定(elasticsearch.ymlに設定)です-
番号 | 設定と説明 |
---|---|
1 | http.port これはElasticsearchにアクセスするポートで、範囲は9200-9300。 |
2 | http.publish_port このポートはHTTPクライアント用に使用され、ファイアウォールの状況でも非常に有用です。 |
3 | http.bind_host これはHTTPサービスのホストアドレスです。 |
4 | http.publish_host これはHTTPクライアントのホストアドレスです。 |
5 | http.max_content_length これはHTTPリクエストの内容の最大サイズです。デフォルト値は100mb。 |
6 | http.max_initial_line_length これはURLの最大サイズで、デフォルト値は4kb。 |
7 | http.max_header_size これはHTTPヘッダーの最大サイズで、デフォルト値は8kb。 |
8 | http.compression これは圧縮のサポートを有効にしたり無効にしたりします。デフォルト値はfalseです。 |
9 | http.pipelinig これはHTTPパイプラインを有効にしたり無効にしたりします。 |
10 | http.pipelining.max_events これはHTTPリクエストを閉じる前にキューに並ぶイベント数を制限します。 |
このモジュールは各インデックスのグローバル設定を維持します。以下の設定は主にメモリ使用に関連しています-
これは操作がOutOfMemoryErrorを引き起こすのを防ぐために使用されます。この設定は主にJVMヒープのサイズを制限します。例えば、indexs.breaker.total.limit設定は、デフォルトでJVMヒープの70%。
主にフィールド上での集計に使用されます。十分なメモリを割り当てることを推奨します。index.fielddata.cache.size設定を使用して、フィールドデータキャッシュのメモリ量を制御できます。
このメモリはクエリ結果をキャッシュするために使用されます。このキャッシュは最も最近に使用された(LRU)驱逐戦略を使用します。Indices.queries.cache.size設定は、このキャッシュのメモリサイズを制御します。
このバッファーは新しいドキュメントをインデックスに保存し、バッファーがいっぱいになるとそれらをリフレッシュします。indexs.memory.index_buffer_sizeのような設定は、このバッファーに割り当てられるヒープの量を制御します。
このキャッシュは各スライドのローカル検索データを保存するために使用されます。インデックスの作成中にキャッシュを有効にすることもできますし、URLパラメータを送信してキャッシュを無効にすることもできます。
キャッシュを無効にします - ?request_cache = true キャッシュ「index.requests.cache.enable」を有効にします:true
これはリカバリの過程でリソースを制御します。以下は設定です-
設定 | デフォルト値 |
---|---|
indices.recovery.concurrent_streams | 3 |
indices.recovery.concurrent_small_file_streams | 2 |
indices.recovery.file_chunk_size | 512kb |
indices.recovery.translog_ops | 1000 |
indices.recovery.translog_size | 512kb |
indices.recovery.compress | true |
indices.recovery.max_bytes_per_sec | 40mb |
生存時間(TTL)間隔は、その後ドキュメントが削除されるまでのドキュメントの時間を定義します。以下は、このプロセスを制御するための動的設定です。-
設定 | デフォルト値 |
---|---|
indices.ttl.interval | 60s |
indices.ttl.bulk_size | 1000 |
各ノードはデータノードとして使用するかどうかを選択できます。node.data セットを変更することでこの属性を変更できます。この値を false に設定すると、そのノードがデータノードでないと定義されます。