32

エラスティックサーチにデータを追加した後にこれらの警告が表示されるのはなぜですか? また、ダッシュボードを閲覧するたびに警告が異なります。

「クーリエ フェッチ: 60 個のシャードのうち 30 個が失敗しました。」

例 1

例 2

詳細:

CentOS 7.1 の唯一のノードです。

/etc/elasticsearch/elasticsearch.yml

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

/usr/share/elasticsearch/bin/elasticsearch.in.sh

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" : falseについて知りたいのですが、yml にbootstrap.mlockall: trueを記述したためです。

ログ

次のような多くの行:

org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution (queue capacity 1000) on org.elasticsearch.search.action.SearchServiceTransportAction$23@a9a34f5
4

7 に答える 7

27

私にとっては、スレッドプール検索 queue_size を調整することで問題が解決しました。他にもいろいろ試しましたが、これで解決しました。

これをelasticsearch.ymlに追加しました

threadpool.search.queue_size: 10000

そしてelasticsearchを再起動しました。

推論...(ドキュメントから)

ノードは、ノード内でスレッドのメモリ消費を管理する方法を改善するために、複数のスレッド プールを保持します。これらのプールの多くにはキューも関連付けられており、保留中のリクエストを破棄せずに保持できます。

特に検索については...

カウント/検索操作用。デフォルトは int((# of available_processors * 3) / 2) + 1、queue_size は 1000 のサイズで固定されます。

詳細については、こちらのelasticsearchドキュメントを参照してください...

この情報を見つけるのに苦労したので、これが他の人に役立つことを願っています!

于 2015-09-03T14:21:16.020 に答える
4

これは、クラスターの正常性に問題があることを示している可能性があります。クラスターについて詳しく知らなければ、それ以上のことは言えません。

于 2015-05-05T13:26:19.357 に答える