使用Dokcer搭建es集群
下载镜像
docker pull elasticsearch:7.5.0
新建es配置文件
目录地址:
/home/es/node-0/elasticsearch.yml
/home/es/node-1/elasticsearch.yml
/home/es/node-2/elasticsearch.yml
文件内容
cluster.name: "docker-cluster"
xpack.security.enabled: true
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
node.name: node-0
http.port: 9200
transport.tcp.port: 9300
network.publish_host: 10.44.27.71
discovery.seed_hosts: ["10.44.27.71:9300","10.44.27.71:9301","10.44.27.71:9302"]
cluster.initial_master_nodes: ["node-0","node-1","node-2"]
gateway.recover_after_nodes: 2
配置文件内容基本一样,只需修改名称和端口
node.name: node-0
http.port: 9200
transport.tcp.port: 9300
运行容器
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d --name es -p 9200:9200 -p 9300:9300 -v /home/es/node-0/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.io/elasticsearch:7.5.0
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d --name es1 -p 9201:9200 -p 9300:9301 -v /home/es/node-1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.io/elasticsearch:7.5.0
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d --name es2 -p 9202:9200 -p 9302:9300 -v /home/es/node-2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.io/elasticsearch:7.5.0
设置密码
- 进入容器
docker exec -it es bash
- 获取密码生成命令的帮助信息
./bin/elasticsearch-setup-passwords -h
自动生成随机密码
./bin/elasticsearch-setup-passwords auto
# 结果如下
Changed password for user apm_system
PASSWORD apm_system = CQglm4WneZKQATsLKZu7
Changed password for user kibana
PASSWORD kibana = EMpptPEbkNLz1THo8gZR
Changed password for user logstash_system
PASSWORD logstash_system = lvlOGX0zuUAMiYCiuifO
Changed password for user beats_system
PASSWORD beats_system = UGOt7XJXtWpyHtqji6Tv
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = Dg1NdG7aiPuLTt0pdYyJ
Changed password for user elastic
PASSWORD elastic = yJwNovXpNfFHl5KrZzCm
手动输入密码
./bin/elasticsearch-setup-passwords interactive