docker搭建 elasticsearch 集群

1、下载 elasticsearch 镜像

docker pull elasticsearch:5.6.8

 

2、运行 elasticsearch 容器

1) 先创建一个虚拟网卡

docker network create my_net

 

2) 启动第一个 es 容器,命名容器为 es_01

docker run -d --name es_01 -p 9201:9200 -p 9301:9300 --network my_net --network-alias es_01 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch:5.6.8

参数说明:

  -d: 后台运行

  --name: 指定容器名

  -p: 指定主机映射容器端口

  --network: 指定网卡

  --network-alias: 指定网络别名(有点类似于在虚拟网卡上加了一层域名,通过这个域名,就可以访问当前容器)

  -e: 设置环境变量(因为 es 默认内存比较大,我这里内存不太够,所以改成了 512M)

 

3) 修改容器配置,添加集群配置信息

执行如下命令,进入容器:

docker exec -it es_01 /bin/bash

 

然后执行如下命令,修改配置信息:

cat > config/elasticsearch.yml << EOF
# 设置允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

# 集群名称,保证唯一
cluster.name: my-elasticsearch
# 集群节点的名称, 保证唯一
node.name: node-1
# ip地址,必须为本机的ip地址
network.host: es_01
# 服务器端口号
http.port: 9200
# 集群间通信端口号
transport.tcp.port: 9300
# 设置集群自动发现机器ip集合
discovery.zen.ping.unicast.hosts: ["es_01:9300","es_02:9300","es_03:9300"]
EOF

 

4) 重启容器使配置生效

docker restart es_01

 

5) 按照同样的步骤,修改一下集群配置信息,然后新建另外两个容器,分别映射到主机的 9202 和 9203 端口

 

3、在 elasticsearch head 中查看集群信息

1) 下载 elasticsearch head 插件

  需要到 google 应用商店中去下载

 

2)在连接栏中输入任意节点的连接地址即可观察到集群信息

  这里我输入 http://localhost:9201/ ,显示如图:

posted @ 2020-09-29 14:32  lkc9  阅读(251)  评论(1编辑  收藏  举报