问题提前报
max virtual memory areas error
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
如果您的环境是Linux,注意要做以下操作,否则es可能会启动失败
1 用编辑工具打开文件/etc/sysctl.conf
2 在尾部添加一行配置vm.max_map_count = 262144,如果已存在就修改,数值不能低于262144
3 修改保存,然后执行命令sudo sysctl -p使其立即生效
heap size error
initial heap size [1073741824] not equal to maximum heap size [4294967296]; this can cause resize pauses and prevents mlockall from locking the entire heap
原因是 ES_JAVA_OPTS 设置错误,前后必须相同,如
-Xms3g -Xmx3g
docker部署es
创建一个docker网络
docker network create elastic
创建es容器
创建es容器,若本地没有镜像会自动下载,为了省内存,我这里设置ES容器内的java进程只用到1024M内存,您可以根据自己电脑情况调整
docker run \
--name es01 \
--net elastic \
-p 9200:9200 \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
-idt elasticsearch:8.2.2
进入容器
docker exec -it es01 /bin/bash
重置密码
bin/elasticsearch-reset-password -u elastic
提示是否重置,输入y,控制台会打印新密码,请记住这个密码,稍后要用到
Password for the [elastic] user successfully reset.
New value: -3Dc2TRZjRZS0=gH1Qnx
关闭SSL
Elasticsearch8.x默认会开启安全连接,因此我们在第一次安装配置Elasticsearch时需要将安全策略关闭。关闭方式就是修改elasticsearch.yml文件,在文件中添加:
xpack.security.enabled: false
xpack.security.http.ssl.enabled: false
验证
访问http://localhost:9200