运行环境:centos7下的docker
elasticsearch版本:6.5.1(没有用最新版最新版是7.X)
jdk版本:1.8(太长了,大约是8版本)
安装镜像:docker pull docker.io/elasticsearch:6.5.1
启动es容器:
docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512M -Xmx512M" --name es6.5.1 docker.io/elasticsearch:6.5.1
启动es容器容易出现的问题:
问题一:内存溢出,挂载后显示Exited(1),这个状态有可能是内存的问题。
解决方法:
在启动镜像时,加入-e ES_JAVA_OPTS="-Xms512M -Xmx512M",规定内存大小。如上面的正确语句。
问题二:max virtual memory areas vm.max_map_count [xxx] is too low, increase to at least[xxxx]
这个问题是通过日志得到的,大体意思是elasticsearch用户拥有的内存权限太小,至少需要xxxx
解决方法:
第一:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
第二:文件最后添加下面配置:
vm.max_map_count=xxxx(此处的xxxx是你自己要填写的数值)
第三:sysctl -p(从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)</