在上一次 git pull 期間,我收到了一個修改后的 docker-compose.yml 檔案。一位同事在docker -compose 中添加了 elasticSerach。
它適用于她,而不適用于我。我可以啟動容器docker-compose up并讓它運行。但是一旦我想同步彈性搜索,容器就會自行殺死。然后我查看了容器日志并收到了幾條錯誤訊息。有人可以幫我解決這些錯誤嗎?
也許是一個重要的暗示。我的同事在 Mac 上作業并使用 Docker Desktop,而我在 Linux 系統上作業并且只使用命令列。
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,148Z\", \"level\": \"INFO\", \"component\": \"o.e.x.s.c.f.PersistentCache\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"persistent cache index loaded\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.148417236Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,148Z\", \"level\": \"INFO\", \"component\": \"o.e.x.d.l.DeprecationIndexingComponent\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"deprecation component started\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.148994292Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,242Z\", \"level\": \"INFO\", \"component\": \"o.e.t.TransportService\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"publish_address {17x.2x.x.x:9300}, bound_addresses {0.0.0.0:9300}\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.242811316Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,355Z\", \"level\": \"INFO\", \"component\": \"o.e.b.BootstrapChecks\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"bound or publishing to a non-loopback address, enforcing bootstrap checks\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.355514869Z"}
{"log":"\n","stream":"stderr","time":"2022-01-27T08:31:28.363280214Z"}
{"log":"ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.\n","stream":"stderr","time":"2022-01-27T08:31:28.363310562Z"}
{"log":"bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]\n","stream":"stderr","time":"2022-01-27T08:31:28.363318535Z"}
{"log":"ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/es-docker-cluster.log\n","stream":"stderr","time":"2022-01-27T08:31:28.363326669Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,364Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"stopping ...\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.364606976Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,396Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"stopped\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.3965249Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,396Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"closing ...\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.396754682Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,407Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"closed\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.407816795Z"}
{"log":"{\"type\": \"server\", \"timestamp\": \"2022-01-27T08:31:28,409Z\", \"level\": \"INFO\", \"component\": \"o.e.x.m.p.NativeController\", \"cluster.name\": \"es-docker-cluster\", \"node.name\": \"es01\", \"message\": \"Native controller process has stopped - no new native processes can be started\" }\n","stream":"stdout","time":"2022-01-27T08:31:28.409846634Z"}
uj5u.com熱心網友回復:
堆疊跟蹤中已經提到了錯誤及其解決方法。
{"log":"bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]\n","stream":"stderr","time":"2022-01-27T08:31:28.363318535Z"}
可用于 docker 行程的虛擬記憶體設定為低于 elasticsearch 請求的限制。所以你需要增加這個限制。具體來說,將限制vm.max_map_count增加到 262144(根據堆疊跟蹤中的建議)
對于 Mac - 你可以在這里找到方法。
對于 Linux - sysctl -w vm.max_map_count=262144
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/423049.html
標籤:
