docker 搭建 es集群 三台机器
时间: 2023-08-23 15:07:51 浏览: 137
要在三台机器上搭建 Elasticsearch 集群,可以按照以下步骤进行:
1. 在每台机器上安装 Docker:根据操作系统的不同,安装对应的 Docker 版本。
2. 创建一个共享网络:在 Docker 中,创建一个共享网络,以便容器可以相互通信。可以使用以下命令在每台机器上创建一个名为 "es_net" 的网络:
```shell
docker network create es_net
```
3. 在第一台机器上创建 Elasticsearch 容器:
```shell
docker run -d --name es01 --net es_net -p 9200:9200 -p 9300:9300 -e "discovery.type=zen" -e "cluster.initial_master_nodes=es01" docker.elastic.co/elasticsearch/elasticsearch:7.14.0
```
这将创建一个名为 "es01" 的 Elasticsearch 容器,并将其连接到 "es_net" 网络。容器将通过端口映射将 Elasticsearch 的 9200 和 9300 端口暴露到主机上。设置 "discovery.type" 为 "zen",并通过 "cluster.initial_master_nodes" 参数指定自己作为初始主节点。
4. 在第二台机器上创建 Elasticsearch 容器:
```shell
docker run -d --name es02 --net es_net -e "discovery.type=zen" -e "cluster.initial_master_nodes=es01" docker.elastic.co/elasticsearch/elasticsearch:7.14.0
```
使用上述命令在第二台机器上创建一个名为 "es02" 的容器,并将其连接到同一网络。通过设置 "discovery.type" 为 "zen",并通过 "cluster.initial_master_nodes" 参数指定已存在的主节点 "es01",将新容器加入到已有的集群中。
5. 在第三台机器上创建 Elasticsearch 容器:
```shell
docker run -d --name es03 --net es_net -e "discovery.type=zen" -e "cluster.initial_master_nodes=es01" docker.elastic.co/elasticsearch/elasticsearch:7.14.0
阅读全文