Dockerエラー 1. 原因を確認する
2. エラーの原因
追加知識: Docker を使用して ElasticSearch をインストールおよび実行するときに問題が発生します。 ES のバージョン 6.4.3 を作成した後、起動すると、しばらくすると ES が自動的に終了することがわかりました。 理由は、ES によって割り当てられたデフォルトのメモリが大きすぎるためと思われます。プロセスは自動的に終了しました。 それで、このピットを以下に記録しておきます: ES ツールクラスインデックスを使用してテストメソッドを実行するときにエラーが発生しました
SpringBoot 2.x を使用してインポートされた ES パッケージは、Docker にインストールされている ES バージョンと互換性がないことが判明しました。 SpringBoot 2.1.3 で導入された Spring-Data-ES パッケージは 3.1.5 です。 DockerによってインストールされたESバージョンは5.6.12です 適応関係については公式ドキュメントをご覧ください: 3.1.XにはESバージョン6.2.2以上が必要であることが判明しました 私のプロジェクトに統合されているES Jarパッケージは6.4.3です 次にDockerにESバージョン6.4.3をインストールします 以下の処理を高速化するために、公式の Docker China イメージを使用します。
ダウンロード後、コンテナを作成して起動します。 //すべてのローカルイメージを一覧表示# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ registry.docker-cn.com/library/rabbitmq 3-management 92682ab7dca0 12日前 212MB registry.docker-cn.com/library/elasticsearch 6.4.3 01e5bee1e059 4か月前 795MB registry.docker-cn.com/library/elasticsearch 最新 5acf0e8da90b 5 か月前 486MB ES バージョン 5.0 以降に割り当てられるデフォルトのメモリは 2G なので、Docker を作成するときには 1G が必要になります。そのため、パラメータで環境変数を設定できます。 対応するjvm.options設定を変更することもできます。 6.4.3を実行するESを作成します
その後、以下の状況が発生した後、ESコンテナは自動的に停止しました。 : OpenJDK 64 ビット サーバー VM の警告: オプション UseConcMarkSweepGC はバージョン 9.0 で非推奨となり、将来のリリースで削除される可能性があります。 [2019-03-06T03:29:17,534][INFO ][oenNode ] [] 初期化中... [2019-03-06T03:29:17,680][INFO ][oeeNodeEnvironment ] [gV0jbyu] 使用 [1] データパス、マウント [[/ (rootfs)]]、ネット使用可能領域 [13.6gb]、ネット合計領域 [16.9gb]、タイプ [rootfs] [2019-03-06T03:29:17,681][INFO ][oeeNodeEnvironment ] [gV0jbyu] ヒープサイズ [247.6mb]、圧縮された通常のオブジェクトポインター [true] [2019-03-06T03:29:17,690][INFO ][oenNode ] [gV0jbyu] ノード名はノードID [gV0jbyuBSrmiqJJ8p524XA] から派生しました。[node.name] を上書きするように設定します [2019-03-06T03:29:17,691][INFO ][oenNode ] [gV0jbyu] バージョン[6.4.3]、pid[1]、ビルド[default/tar/fe40335/2018-10-30T23:17:19.084789Z]、OS[Linux/3.10.0-957.5.1.el7.x86_64/amd64]、JVM["Oracle Corporation"/OpenJDK 64-Bit Server VM/10.0.2/10.0.2+13] [2019-03-06T03:29:17,691] [情報] [oennode] [gv0jbyu] JVM引数[-xmx1g、-xx:+useconcweepgc、-xx:cmsinitiatingoccupcance = cmsiniatingoccupcing:75、-xx: s1m、-djava.awt.headless = true、-dfile.encoding = utf -8、-djna.nosys = true、-xx:-omitstacktraceinfastthrow、-dio.netty.nounsafe = true、-dio.netty.nokeysetoptimizati shutdownhookenabled = false、-dlog4j2.disable.jmx = true、-djava.io.tmpdir =/tmp/elasticsearch.gvv4iesy、-xx:+heapdumponoutofmemoryerror、-xx:heapdumppath = data、-xx:logs/hsxx +age = trace、safepoint:file = logs/gc.log:utctime、pid、tags:filecount = 32、filesize = 64m、-djava.locale.providers = compat、compat、useavx = 2、-des.cgroups.hierarchy. share/elasticsearch、-des.path.conf =/usr/share/elasticsearch/config、-des.distribution.flavor = default、-des.distribution.tal = tar] [2019-03-06T03:29:22,164][INFO ][oepPluginsService ] [gV0jbyu] モジュール [aggs-matrix-stats] をロードしました 。 。 。 [2019-03-06T03:29:26,129][WARN ][oedsScriptModule ] スクリプト: 欠落しているドキュメント値に対してデフォルト値を返すことは非推奨です。将来のメジャー バージョンと動作の互換性を保つには、システム プロパティ '-Des.scripting.exception_for_missing_value=true' を設定してください。 [2019-03-06T03:29:30,804][INFO ][oexsasFileRolesStore] [gV0jbyu] はファイル [/usr/share/elasticsearch/config/roles.yml] から [0] 個のロールを解析しました [2019-03-06T03:29:31,986][INFO ][oexmjplCppLogMessageHandler] [controller/62] [Main.cc@109] コントローラー (64 ビット): バージョン 6.4.3 (ビルド 7a0781676dd492) Copyright (c) 2018 Elasticsearch BV [2019-03-06T03:29:32,929][INFO ][oedDiscoveryModule ] [gV0jbyu] 検出タイプ [zen] の使用 [2019-03-06T03:29:34,282][INFO][oenNode] [gV0jbyu] 初期化されました [2019-03-06T03:29:34,283][INFO ][oenNode ] [gV0jbyu] 開始しています... [2019-03-06T03:29:34,625][INFO][oetTransportService] [gV0jbyu] 公開アドレス {172.17.0.2:9300}、バインドされたアドレス {0.0.0.0:9300} [2019-03-06T03:29:34,656][INFO ][oebBootstrapChecks ] [gV0jbyu] 非ループバックアドレスにバインドまたは公開し、ブートストラップチェックを実施しています エラー: [1] ブートストラップチェックに失敗しました [1]: 最大仮想メモリ領域 vm.max_map_count [65530] は低すぎます。少なくとも [262144] に増やしてください。 [2019-03-06T03:29:34,721][INFO ][oenNode ] [gV0jbyu] 停止しています... [2019-03-06T03:29:34,760][INFO][oenNode] [gV0jbyu] 停止しました [2019-03-06T03:29:34,760][INFO ][oenNode ] [gV0jbyu] 終了しています... [2019-03-06T03:29:34,778][INFO][oenNode] [gV0jbyu] 閉鎖 [2019-03-06T03:29:34,780][INFO ][oexmjpNativeController] ネイティブ コントローラー プロセスが停止しました。新しいネイティブ プロセスを開始できません エラーログを出力し、大まかに翻訳すると次の文が表示されました。
最大仮想メモリ領域 vm.max_map_count が 65530 に設定されていますが、これは低すぎるため、少なくとも 262144 に増やす必要があるとのことです。 設定方法についてはBaiduでネット検索しました。
そして再びESを始めます
後でもう一度ステータスを確認してみましょう。 # docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 bdaed6794ca6 5acf0e8da90b "/docker-entrypoint.…" 5 分前 終了 (130) 6 秒前 ES01 7d2dcc5512ee 01e5bee1e059 "/usr/local/bin/dock…" 3 時間前 15 分前に起動 0.0.0.0:9201->9200/tcp、0.0.0.0:9301->9300/tcp ES02 d372501cc505 92682ab7dca0 "docker-entrypoint.s…" 4日前 終了 (0) 22時間前 myrabbitmq 正常に起動していることが確認できたら、http に対応するポートにアクセスしてみましょう。
インストールした ES のバージョン 6.4.3 では問題がないことがわかりました。 dockerエラーExited (1) 4分前の原因分析は以上です。参考になれば幸いです。123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: HTML における水平および垂直の中央揃え方法の詳細な説明 (基礎)
>>: Flutterを使用して移動可能なスタックウィジェット機能を作成する
オリジナルリンク: https://vien.tech/article/157序文この記事では、Ub...
QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...
序文MySQL マスター/スレーブ レプリケーションは、アプリケーションの高パフォーマンスと高可用性...
Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...
MySQL の通常のソート、カスタム ソート、中国語のピンイン文字によるソート。実際の SQL を記...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
まず、CSS3 Api の position 属性の定義を見てみましょう。 static: 特別な配...
目次これを Vue.$store.state.xx.xxストアからデータを取得する私のプロジェクトフ...
目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...
目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...
序文以前、MySQL 5.6 をインストールしました。3 か月後、開発者から MySQL で JSO...
目次概要0. JavaScriptとWeb開発の基礎1. Vueの基本概念Vue コア機能コンポーネ...
序文開発中は、インターフェース要求の繰り返しによってさまざまな問題が発生することがよくあります。ネッ...
ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...
アプリケーションをコンテナ化した後、Docker コンテナを起動すると、デフォルトで root ユー...