elasticsearch にデータを追加した後にこれらの警告が表示されるのはなぜですか? また、ダッシュボードを参照するたびに警告が異なります。
「宅配便の受け取り: 60 個の破片のうち 30 個が失敗しました。」
詳細:
CentOS 7.1上の単一ノードです
エラスティックサーチ
index.number_of_shards: 3
index.number_of_replicas: 1
bootstrap.mlockall: true
threadpool.bulk.queue_size: 1000
indices.fielddata.cache.size: 50%
threadpool.index.queue_size: 400
index.refresh_interval: 30s
index.number_of_shards: 5
index.number_of_replicas: 1
: elasticsearch のディレクトリ
ES_HEAP_SIZE=3G
#I use this Garbage Collector instead of the default one.
JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
クラスターステータス
{
"cluster_name" : "my_cluster",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 61,
"active_shards" : 61,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 61
}
クラスターの詳細
{
"cluster_name" : "my_cluster",
"nodes" : {
"some weird number" : {
"name" : "ES 1",
"transport_address" : "inet[localhost/127.0.0.1:9300]",
"host" : "some host",
"ip" : "150.244.58.112",
"version" : "1.4.4",
"build" : "c88f77f",
"http_address" : "inet[localhost/127.0.0.1:9200]",
"process" : {
"refresh_interval_in_millis" : 1000,
"id" : 7854,
"max_file_descriptors" : 65535,
"mlockall" : false
}
}
}
}
私は興味があります"mlockall" : 偽なぜなら、ymlに書いたのはbootstrap.mlockall: true
ログ
次のような行がたくさんあります:
org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution (queue capacity 1000) on org.elasticsearch.search.action.SearchServiceTransportAction$23@a9a34f5
ベストアンサー1
私の場合、スレッドプールの検索 queue_size を調整することで問題は解決しました。他のいくつかの方法を試しましたが、これが問題を解決しました。
これをelasticsearch.ymlに追加しました
threadpool.search.queue_size: 10000
その後、elasticsearchを再起動しました。
理由... (ドキュメントより)
ノードは、ノード内でのスレッドのメモリ消費の管理方法を改善するために、複数のスレッド プールを保持します。これらのプールの多くにはキューも関連付けられており、保留中のリクエストを破棄せずに保持することができます。
特に検索に関しては...
カウント/検索操作用。デフォルトでは、サイズは int((# of available_processors * 3) / 2) + 1、queue_size は 1000 に固定されます。
詳細については、elasticsearchを参照してください。ドキュメントはこちら...
この情報を見つけるのに苦労したので、他の人の役に立つことを願っています。