突然es访问不了,查看日志显示内存溢出如下图所示:
解决办法:
我创建容器的时候设置的为:ES_JAVA_OPTS="-Xms1024m -Xmx1024m"
基于自己服务器的情况,我删除了原先的容器(es01是我节点一的容器名)
docker rm -f es01
重新创建容器且修改内存配置为ES_JAVA_OPTS="-Xms4g -Xmx4g"
docker run --restart=always --network=elastic -d -p 9200:9200 -p 9300:9300 \
-e ES_JAVA_OPTS="-Xms4g -Xmx4g" \
-e "discovery.type=zen" \
-v /mnt/es01/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mnt/es01/data:/usr/share/elasticsearch/data \
--name es01 elasticsearch:7.11.2
查看容器日志报错大概信息是认证出问题了如下图
修改认证文件权限
chmod -R 777 /mnt/elastic-certificates.p12
将认证文件复制到容器中
docker cp /mnt/elastic-certificates.p12 es01:/usr/share/elasticsearch/config
然后重启容器 docker restart es01 查看日志发现成功启动
查看容器配置
docker inspect es01
可以看到内存大小已修改为4g
至此问题解决。