web-dev-qa-db-ja.com

elasticsearch / kibanaエラー "データが大きすぎます。[@ timestamp]のデータが制限を超えます

テストELKクラスターで、先週のデータを表示しようとすると、次のエラーが発生します。

Data too large, data for [@timestamp] would be larger than limit

Elasticsearch監視ツールkopfおよびheadはすべてのシャードが適切に機能し、エラスティッククラスターが緑色であることを示しているため、シャードの失敗に関する警告は誤解を招くようです。

enter image description here

Elasticsearchのgoogleグループの1人のユーザーがRAMを増やすことを提案しました。 3つのノードをそれぞれ4.7GBのヒープで8GBに増やしましたが、問題は解決しません。 1日あたり約5 GBから25 GBのデータを生成し、30日間保持します。

20
spuder

キャッシュをクリアすると、今のところ症状が緩和されます。

http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html

単一のインデックスをクリアする

curl -XPOST 'http://localhost:9200/Twitter/_cache/clear'

複数のインデックスをクリア

curl -XPOST 'http://localhost:9200/kimchy,elasticsearch/_cache/clear'

curl -XPOST 'http://localhost:9200/_cache/clear'

または、IRCのユーザーによって提案されました。これが一番うまくいくようです。

curl -XPOST 'http://localhost:9200/_cache/clear' -d '{ "fielddata": "true" }'

Update:これらのエラーは、クラスターがより高速なハイパーバイザーに移動されるとすぐになくなりました

34
spuder

問題は、ES_Java_OPTSによってElasticsearchに与えられたメモリです。

ES_Java_OPTS = "-Xmx2g -Xms2g"を使用してメモリを増やしてください。

1
FChiri

キャッシュをクリアしても、クラスターでは機能しませんでした。 http://x.x.x.x:9200/_cat/indices?v&s = index:desc を使用してさまざまなノードをチェックすると、1つは上記のエラーを示し、他のノードは無効なポインタエラーを示しました。私は、レート制限/データが大きすぎるエラーを提供するサービスでエラスティックサービスを再開しました。それがオンラインに戻ったとき、割り当てられていないシャードがいくつかありました。これは、レプリケーションカウントをより低い数値にドロップすることで修正しました(クラスターのインデックス設定を変更するには、ノードの1つでこれを実行する必要があるだけです)。

IFS=$'\n'
for line in $(curl -s 'elastic-search.example.com:9200/_cat/shards' | fgrep UNASSIGNED); do
  INDEX=$(echo $line | (awk '{print $1}'))
  echo start $INDEX
  curl -XPUT "elastic-search.example.com:9200/$INDEX/_settings" -d '{
      "index" : {
        "number_of_replicas" : 1
      }
    }
    '
done

# Check shard/cluster status (may take some time to rebalance):
# http://elastic-search.example.com:9200/_cat/shards?v&s=index:desc
# http://elastic-search.example.com:9200/_cluster/health?pretty

また https://discuss.elastic.co/t/data-too-large/32141 は、JVMヒープのサイズに問題がある可能性があることを言及しているようです。

0
Greg Bray