怎么用docker搭建elasticsearch集群

2023-04-17 21:48:00 docker 集群 搭建

Docker 是一种容器技术,可以让您在一台服务器上运行多个应用程序,而不会受到环境限制的影响。它可以让您快速部署和管理应用程序,而不必担心应用程序之间的依赖关系。因此,使用 Docker 搭建 Elasticsearch 集群是一个非常有意义的选择。

要搭建 Elasticsearch 集群,首先需要安装 Docker。可以使用以下命令安装:

sudo apt-get install docker

接下来,下载 Elasticsearch 镜像,可以使用以下命令:

docker pull elasticsearch

现在,可以使用以下命令启动 Elasticsearch 容器:

docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch

这条命令将启动一个 Elasticsearch 实例,并将其映射到本地的 9200 和 9300 端口。接下来,可以使用以下命令检查 Elasticsearch 是否正在运行:

curl -XGET 'http://localhost:9200'

如果 Elasticsearch 正在运行,则会返回一个 JSON 响应,表明它已经成功启动。

要搭建一个 Elasticsearch 集群,首先需要创建一个 Docker 网络,可以使用以下命令:

docker network create es-net

现在,可以使用以下命令启动多个 Elasticsearch 容器:

docker run -d --net es-net --name es-node-1 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch
docker run -d --net es-net --name es-node-2 -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" elasticsearch
docker run -d --net es-net --name es-node-3 -p 9202:9200 -p 9302:9300 -e "discovery.type=single-node" elasticsearch

这些命令将创建三个名为 es-node-1、es-node-2 和 es-node-3 的 Elasticsearch 容器,并将它们连接到 es-net 网络。

接下来,可以使用以下命令将这三个节点加入到集群中:

docker exec -it es-node-1 bin/elasticsearch-node-cli join -s es-node-2
docker exec -it es-node-1 bin/elasticsearch-node-cli join -s es-node-3

最后,可以使用以下命令检查集群的状态:

curl -XGET 'http://localhost:9200/_cluster/health?pretty'

如果 Elasticsearch 集群搭建成功,则会返回一个 JSON 响应,表明集群的状态是“正常”。

总之,使用 Docker 搭建 Elasticsearch 集群是一个非常实用的方法,可以让您快速部署和管理集群,而不必担心复杂的依赖关系。只要安装和配置 Docker,就可以轻松搭建一个 Elasticsearch 集群,并享受它带来的好处。

相关文章