使用官方的quickstart Start a single-node cluster in Docker | Elastic Docs 发现elasticsearch启动不起来
使用docker logs es01 查看日志
{"@timestamp":"2025-07-25T01:52:18.463Z", "log.level": "INFO", "message":"bound or publishing to a non-loopback address, enforcing bootstrap checks", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.bootstrap.BootstrapChecks","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2025-07-25T01:52:18.476Z", "log.level":"ERROR", "message":"node validation exception\n[1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. For more information see [https://www.elastic.co/docs/deploy-manage/deploy/self-managed/bootstrap-checks?version=9.0]\nbootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]; for more information see [https://www.elastic.co/docs/deploy-manage/deploy/self-managed/bootstrap-checks?version=9.0#bootstrap-checks-max-map-count]", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.bootstrap.Elasticsearch","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2025-07-25T01:52:18.510Z", "log.level": "INFO", "message":"stopping ...", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"elasticsearch-shutdown","log.logger":"org.elasticsearch.node.Node","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2025-07-25T01:52:18.669Z", "log.level": "INFO", "message":"stopped", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"elasticsearch-shutdown","log.logger":"org.elasticsearch.node.Node","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2025-07-25T01:52:18.672Z", "log.level": "INFO", "message":"closing ...", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"elasticsearch-shutdown","log.logger":"org.elasticsearch.node.Node","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
{"@timestamp":"2025-07-25T01:52:18.918Z", "log.level": "INFO", "message":"closed", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"elasticsearch-shutdown","log.logger":"org.elasticsearch.node.Node","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2025-07-25T01:52:18.930Z", "log.level": "INFO", "message":"Native controller process has stopped - no new native processes can be started", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"ml-cpp-log-tail-thread","log.logger":"org.elasticsearch.xpack.ml.process.NativeController","elasticsearch.node.name":"dff29d81e7e8","elasticsearch.cluster.name":"docker-cluster"}
ERROR: Elasticsearch died while starting up, with exit code 78
关键错误信息:bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144];
简单来说max_count 太小了
解决方法:
修改vim /etc/sysctl.conf
插入vm.max_map_count=262144
生效: sysctl -p
再重新启动es01
docker container start es01
成功!