問題提前報
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