Docker安装ElasticSearch8
1.下载
docker pull elasticsearch:8.16.3
2.运行
docker run -d \
--name es \
-e "http.host=0.0.0.0" \
-e "cluster.name=elasticsearch" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v /mnt/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mnt/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mnt/docker/elk/elasticsearch/logs:/usr/share/elasticsearch/logs \
--privileged \
--network elk \
-p 9200:9200 \
-p 9300:9300 \
--restart=always \
elasticsearch:8.16.3
3.参数介绍
ElasticSearch使用Java编写,初始化时默认占用2G堆内存空间
- -Xms 设置初始化堆内存大小
- -Xmx 设置最大使用的堆内存大小
- cluster.name ES集群的名称
- http.host=0.0.0.0 监听的地址,可以外网访问
- discovery.type 配置运行模式,此处是单点模式
- es-data ES的数据目录
- es-logs ES的日志目录
- es-plugins ES的插件目录
- --privileged 授予逻辑卷访问权
- -p 端口映射
- --name 容器实例名称
- -d 后台运行
- 9200 ElasticSearch Web通信端口
- 9300 ElasticSearch 分布式各个节点之间的通信端口
访问http://ip:9200 出现ElasticSearch 详细信息则安装成功
4.补充【elk】
1.创建Docker网络【对于连接到连接到同一网络的其他服务很有用(例如 Kibana)】:
docker network create elk
2.创建
docker run -d \
--name es \
-e "http.host=0.0.0.0" \
-e "cluster.name=elasticsearch" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v /mnt/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mnt/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mnt/docker/elk/elasticsearch/logs:/usr/share/elasticsearch/logs \
--privileged \
--network elk \
-p 9200:9200 \
-p 9300:9300 \
--restart=always \
elasticsearch:8.16.3
确保容器卷映射的目录拥有777权限,没有的话需要赋权
chmod -R 777 /mnt/docker/elk/elasticsearch
chown -R 1000:1000 /mnt/docker/elk/elasticsearch/data
chmod g+rwx /mnt/docker/elk/elasticsearch/data
chgrp 1000 /mnt/docker/elk/elasticsearch/data
chown -R 1000:1000 /mnt/docker/elk/elasticsearch/plugins
chmod g+rwx /mnt/docker/elk/elasticsearch/plugins
chgrp 1000 /mnt/docker/elk/elasticsearch/plugins
chown -R 1000:1000 /mnt/docker/elk/elasticsearch/logs
chmod g+rwx /mnt/docker/elk/elasticsearch/logs
chgrp 1000 /mnt/docker/elk/elasticsearch/logs
3.重置密码
1.进入容器
docker exec -it elasticsearch /bin/bash
2.执行配置用户密码的命令【二选一】
./bin/elasticsearch-setup-passwords auto #自动生成随机密码
./bin/elasticsearch-setup-passwords interactive #手动设置用户密码
3.访问
访问http://ip:9200,用户名elastic,密码就是你设置的那个
docker集群模式参考官方介绍:https://www.elastic.co/guide/en/elasticsearch/reference/8.5/docker.html