Logstashがデータを書き込もうとするとElasticsearchが停止する


9

先週、テストネットワークでElasticSearchとLogstashの両方を実行していたRaspberry Pi 2(2015年4月の時点で最新のRaspbian)のセットアップがあります(単純なセットアップではありませんが、1週間以上安定していた!)。今日、マシンをリブートしましたが、物事を再度実行するのに本当に苦労していました。ESとLSはどちらも独立して実行されますが、LS出力をESにプッシュしようとすると、説明なしにESインスタンスが停止します。私の目標は、標準出力プラグインを介して実行中のデータとLSポンプデータの両方をESに取り込むことです。

ElasticSearch [v1.5.0]

これこそが核心的な問題だと私は信じています。ESは起動してservice elasticsearch start実行し続けることができ、ポート9200へのHTTPリクエストを介してアクセスでき、生命の兆候はすべて正常に見えます。何か(私が知る限り、何か)がインデックスにデータを書き込もうとするとすぐに、プロセスが終了し、@ / var / log / elasticsearch / *のデバッグログにサービス障害に関連するものが含まれなくなります。logstash(下記参照)とcurlを使用して挿入を試みましたが、どちらもESプロセスを終了します。私が実行しているcurlコマンドはですcurl -XPOST "http://localhost:9200/logstash-2015.04.05/records/" -d "{ \"type\" : \"specialRecord\" }"

Logstash [v1.4.2]

私は現在、この単純な構成で実行しています:

input {
    stdin { }
}

output {
        stdout { codec => rubydebug }
        elasticsearch {
                host => '127.0.0.1'
                cluster => 'elasticsearch'
        }
}

その他の注意事項

私が試したいくつかのこと:

  • ElasticSearchのロギングレベルをDEBUG / TRACEに上げてみましたが、出力は非常に興味深くありません。役立つ場合は、ログを提供してください。

  • 私はESに256MBと512MBのヒープスペースを与えようとしましたが、それは何にも影響を与えていないようです。私はまた、このすべての間にメモリ使用率を監視しており、メモリ不足が問題になることはないようです。

  • マルチキャストを無効にして、ネットワーク変数の束を排除しようとしましたが、違いはないようです。

  • ESのデータディレクトリに十分なスペース、書き込み権限などがあることを確認しました。ESがpath.data読み込まれると、ディレクトリにサブディレクトリが作成されますが、ESプロセスを再起動したときにインデックスの統計で示唆されているため、何も追加されていません。ドキュメントの総数はゼロです。

私は今かなり困惑しており、必要な(または少なくとも見つけることができる)ものがログに記録されていないことに失望しています。ここで何が起こっているのかについてのアイデアはありますか?


ログから何も役に立たない場合、唯一のオプション(ソースからのコンパイルとデバッグステートメントの追加以外)は、straceを使用してシステムコールを監視しているようです。それは、elasticsearchが死ぬ理由についてのヒントを与えるかもしれません。ボリュームを減らすには、通常どおり開始し、書き込みを開始する直前に実行中のプロセスをトレースします。
Paul Haldane、2015

ログなしでクラッシュすると、JNIの問題を思い出します。JVMプロセスのダンプ(hs_err_PID.log)はありませんか?ES 1.5はモニタリングにSigarと呼ばれるネイティブライブラリを使用します。RaspberryのARMに問題がある可能性があります。Sigarを単独で実行してみませんか?Sigarを使わなくなったES 1.5.2またはES 2.0にアップグレードしようと思います。
G Quintana

スワップをオフにしましたか?
2017

Elasticsearchは、最初は8G RAMを推奨しています。Raspberry Pi 3で実行したことがありますが、動作しますが、データの送信速度に少し注意する必要があり、クエリにも時間がかかる場合があります。
webwurst

回答:


1

もっとハードウェアが必要

あなたのraspiは、(かなり)ワークロードの電力が不足している可能性があります。

私はElasticstackのエキスパートではありませんが、いくつかのテストシナリオで、限られた/わずかな本番環境で使用するためにセットアップしました。私の経験では、初期設定で必要なリソースは比較的少ないですが、インデックスの数が増えると、システムが生成するディスクIOとCPUの負荷が大幅に増加します。

これは、システムがシャードを回復している間の再起動後に特に顕著です。インデックスが大きすぎない場合は、デフォルトの日次バケットの代わりに月次バケットを検討できます。これはこの点で役立つようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.