- 报错信息
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2019-07-27T01:13:57,788][INFO ][o.e.n.Node ] [92PS5zg] stopping ...
[2019-07-27T01:13:57,819][INFO ][o.e.n.Node ] [92PS5zg] stopped
[2019-07-27T01:13:57,819][INFO ][o.e.n.Node ] [92PS5zg] closing ...
[2019-07-27T01:13:57,873][INFO ][o.e.n.Node ] [92PS5zg] closed
- 解决办法
在宿主机执行
sysctl -w vm.max_map_count=262144
- 原因分析:
vm.max_map_count
参数,是允许一个进程在VMAs拥有最大数量(VMA:虚拟内存地址, 一个连续的虚拟地址空间),当进程占用内存超过时, 直接OOM。
elasticsearch占用内存较高。官方要求max_map_count需要配置到最小262144。
max_map_count配置文件写在系统的/proc/sys/vm中
通过docker inspect命令, 可查看docker使用宿主机的/proc/sys作为只读路径之一
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
说明镜像使用宿主机的max_map_count参数。因此直接修改宿主机的max_map_count参数即可
- 重启
ElasticSearch
容器
参考:官方文档
网友评论