質問 Docker が elasticsearch をインストールして起動するときにメモリが不足する システム centos8 (Alibaba Cloud ecs サーバー) [root@iZ2zeczvvb79boy368xppwZ ~]# cat /etc/redhat-release CentOS Linux リリース 8.1.1911 (コア) インストールプロセス docker pull elasticsearch:6.4.0 仮想マシンのメモリを変更する(効果はないようです) sysctl -w vm.max_map_count=262144 docker runコマンドを使用してコンテナを実行します。 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=シングルノード" \ -e "cluster.name=elasticsearch" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d エラスティックサーチ:6.4.0 Docker psはコンテナが起動していないことを示している [root@iZ2zeczvvb79boy368xppwZ ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 edfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s..." 14 時間前 14 時間前にアップ 0.0.0.0:4369->4369/tcp、0.0.0.0:5671-5672->5671-5672/tcp、0.0.0.0:15671-15672->15671-15672/tcp、0.0.0.0:25672->25672/tcp rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of..." 2 週間前 2 週間前 0.0.0.0:80->80/tcp, 443/tcp nginx 164e4e7561df redis:3.2 "docker-entrypoint.s..." 2 週間前 2 週間前 0.0.0.0:6379->6379/tcp redis eeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 週間前 2 週間前 0.0.0.0:3306->3306/tcp, 33060/tcp mysql docker ps -a を実行してコンテナが作成されたことを確認します [root@iZ2zeczvvb79boy368xppwZ ~]# docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 767829ae1d7c elasticsearch:6.4.0 "/usr/local/bin/dock…" 約 1 分前 終了しました (1) 約 1 分前 elasticsearch edfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s..." 14 時間前 14 時間前にアップ 0.0.0.0:4369->4369/tcp、0.0.0.0:5671-5672->5671-5672/tcp、0.0.0.0:15671-15672->15671-15672/tcp、0.0.0.0:25672->25672/tcp rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of..." 2 週間前 2 週間前 0.0.0.0:80->80/tcp, 443/tcp nginx 164e4e7561df redis:3.2 "docker-entrypoint.s..." 2 週間前 2 週間前 0.0.0.0:6379->6379/tcp redis eeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 週間前 2 週間前 0.0.0.0:3306->3306/tcp, 33060/tcp mysql ログを確認します。docker logs -f elasticsearchコマンドを実行してログを確認し、jvm メモリが不足していることを確認します。 [root@iZ2zeczvvb79boy368xppwZ ~]# docker ログ -f elasticsearch OpenJDK 64 ビット サーバー VM の警告: オプション UseConcMarkSweepGC はバージョン 9.0 で非推奨となり、将来のリリースで削除される可能性があります。 OpenJDK 64 ビット サーバー VM 警告: INFO: os::commit_memory(0x00007ebf15330000, 549668585472, 0) が失敗しました。エラー = '十分なスペースがありません' (errno = 12) # # Java Runtime Environment を続行するにはメモリが不足しています。 # ネイティブ メモリ割り当て (mmap) は、予約済みメモリをコミットするための 549668585472 バイトのマップに失敗しました。 # 詳細情報を含むエラー レポート ファイルは次のように保存されます。 # ログ/hs_err_pid1.log 回避策 jvm.options ファイルの構成を変更する まず、jvm.options ファイルの場所を見つけます (各サーバーの場所は異なる場合があります) [root@iZ2zeczvvb79boy368xppwZ ~]# find / -name jvm.options /var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options vimはファイルを入力して仮想マシンの最小メモリを変更します [root@iZ2zeczvvb79boy368xppwZ ~]# vim /var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options -Xms プロパティを見つけて 512m に変更します (私の elasticsearch:6.4.0 のデフォルトは 1g です) ## JVM 構成 ################################################################ ## 重要: JVM ヒープサイズ ################################################################ ## ## 常に最小および最大のJVMヒープを設定する必要があります ## サイズを同じ値に設定します。たとえば、 ## ヒープを 4 GB に設定するには、次のように設定します。 ## ## -Xms4g ## -Xmx4g ## ## https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html を参照してください ## 詳細は ## ################################################################ # Xmsはヒープスペース全体の初期サイズを表します # Xmxはヒープスペース全体の最大サイズを表します -Xms512m -Xmx512m 保存して終了 vim では、i を押して編集モードに入り、ESC を押して編集モードを終了し、: を押してコマンド モードに入り、下部のコマンド ラインに w と入力して保存し、q と入力して終了し、q! と入力して強制終了します。 [root@iZ2zeczvvb79boy368xppwZ ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 f5c4ed61196b elasticsearch:6.4.0 "/usr/local/bin/dock…" 15 分前 15 分前にアップ 0.0.0.0:9200->9200/tcp、0.0.0.0:9300->9300/tcp elasticsearch edfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s..." 15 時間前 15 時間前にアップ 0.0.0.0:4369->4369/tcp、0.0.0.0:5671-5672->5671-5672/tcp、0.0.0.0:15671-15672->15671-15672/tcp、0.0.0.0:25672->25672/tcp rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of..." 2 週間前 2 週間前 0.0.0.0:80->80/tcp, 443/tcp nginx 164e4e7561df redis:3.2 "docker-entrypoint.s..." 2 週間前 2 週間前 0.0.0.0:6379->6379/tcp redis eeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 週間前 2 週間前 0.0.0.0:3306->3306/tcp, 33060/tcp mysql 要約する これで、docker が elasticsearch を起動するときにメモリ不足になる問題と解決策に関するこの記事は終わりです。docker が elasticsearch を起動するときにメモリ不足になる問題に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: フロントエンドフレームワーク Vue における親子コンポーネントデータの双方向バインディングの実装
>>: MySQLは集計関数を使用して単一のテーブルをクエリします
居住地を選択するためのドロップダウンボックスをjQueryで実装するための具体的なコードは参考までに...
Linux システム時間には 2 種類あります。 (1)暦上の時刻。値は、指定された時刻、1970 ...
目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...
背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...
Less is More は多くのデザイナーのキャッチフレーズです。これは建築界の巨匠ルートヴィヒ...
CocosCreator バージョン: 2.4.2 jszipの実践的なプロジェクトアプリケーション...
MySQL バッチ挿入の問題プロジェクトを開発しているときに、古いシステムの基本データを事前にインポ...
3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...
ウェブページとは何ですか? HTML ドキュメントがブラウザカーネルによってレンダリングされた後に表...
環境変数の設定の簡単な説明プログラムは、環境によって異なる環境変数を必要とします。たとえば、実稼働環...
目次グローバル変数として可変ホイスト一時的なデッドゾーンブロックスコープ重複したステートメント宣言さ...
CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...
目次1. はじめに2. RC および RR 分離レベル2.1. RRトランザクション分離レベルでのク...
DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定す...
背景何が起こったかというと、Luzhu は偶然、宇宙で最高の外部スピーカーを備えた携帯電話について知...