私は RoR を使用してアプリケーションと searchkick という gem を開発しています。この gem は内部的に Elasticsearch を使用しています。すべて正常に動作しますが、プロダクションでは、しばらくするとサイトがダウンするという奇妙な問題に直面しました。私たちが発見した理由は、サーバーのメモリが過剰に使用されていたことです。先週のelasticsearchログファイルをいくつか削除したところ、メモリ使用量が92%から47%に減少したことがわかりました。ローリング ログを使用し、ログは毎日バックアップされます。さて、私たちが直面している問題は、前日のログ ファイルが 1 つしかないため、メモリが大きくなることです。ログ ファイルは、現在のファイルが 4 GB を使用していても、多くのスペースを占有しています!!!! どうすればそれを防ぐことができますか?
メッセージはほとんど警告レベルです。
[00:14:11,744][WARN ][cluster.action.shard ] [Abdul Alhazred] [?][0] sending failed shard for [?][0], node[V52W2IH5R3SwhZ0mTFjodg], [P], s[INITIALIZING], indexUUID [4fhSWoV8RbGLj5jo8PVoxQ], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[?][0] failed recovery]; nested: EngineCreationFailureException[[?][0] failed to create engine]; nested: LockReleaseFailedException[Cannot forcefully unlock a NativeFSLock which is held by another indexer component: /usr/lib64/elasticsearch-1.1.0/data/elasticsearch/nodes/0/indices/?/0/index/write.lock]; ]]
SO questionのいくつかを見て、ulimitを増やすか、新しいノードを作成して、問題も解決し、サイズを縮小しようとしています。私の limits.conf には、ハードとソフトの nofile 用に 65535 があります。また、sysctl.conf で fs.file-max が 100000 を超えています。ファイル サイズを縮小するために実行できる他の手順はありますか。さらに、elasticsearch 構成の変更についての洞察を得ることができません。
誰かが助けることができれば。ありがとう