如何在 Docker 中部署 Elasticsearch 集群
Elasticsearch 是一个流行的开源搜索和分析引擎,用于在不同类型的数据集中存储、搜索和分析数据。它通常用于建立针对大型数据集的搜索引擎,也可以用于实时数据分析。
在本文中,我们将介绍如何使用 Docker 部署 Elasticsearch 集群。我们会详细说明如何设置 Docker 容器、创建 Elasticsearch 集群,并且提供一些示例代码以供参考。
步骤 1:安装 Docker
在开始配置 Elasticsearch 集群之前,我们需要先安装 Docker。你可以使用以下命令来安装最新版本的 Docker:
$ sudo apt-get update $ sudo apt-get install docker.io
安装完成后,你可以运行下面的命令来启动 Docker 服务:
$ sudo systemctl start docker $ sudo systemctl enable docker
步骤 2:创建 Elasticsearch 镜像
在 Docker 中部署 Elasticsearch 集群之前,我们需要先创建一个 Elasticsearch 镜像。你可以使用以下命令来创建镜像:
$ docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:7.9.2
该命令将创建一个 Elasticsearch 容器,并将容器命名为“elasticsearch”。此外,它还会将容器的 9200 和 9300 端口映射到主机的同名端口。这样可以确保我们可以通过主机访问 Elasticsearch。
步骤 3:创建 Elasticsearch 集群
现在我们已经创建了 Elasticsearch 镜像,接下来我们需要创建 Elasticsearch 集群。
创建 Elasticsearch 集群的步骤如下:
- 创建一个 Docker 网络:
$ docker network create elasticsearch
- 创建 3 个 Elasticsearch 节点:
$ docker run -d --name node1 --net elasticsearch -e "discovery.seed_hosts=node1,node2,node3" -e "cluster.initial_master_nodes=node1,node2,node3" elasticsearch:7.9.2 $ docker run -d --name node2 --net elasticsearch -e "discovery.seed_hosts=node1,node2,node3" -e "cluster.initial_master_nodes=node1,node2,node3" elasticsearch:7.9.2 $ docker run -d --name node3 --net elasticsearch -e "discovery.seed_hosts=node1,node2,node3" -e "cluster.initial_master_nodes=node1,node2,node3" elasticsearch:7.9.2
以上命令会分别创建 3 个 Elasticsearch 节点,并通过环境变量设置集群的种子节点和初始主节点。
- 验证 Elasticsearch 集群
使用以下命令可以验证 Elasticsearch 集群是否按预期工作:
$ docker exec -it node1 /bin/bash $ curl http://localhost:9200/_cluster/state?pretty
如果一切正常,你应该能够看到 Elasticsearch 集群的状态信息。
步骤 4:使用 Kibana 可视化 Elasticsearch 集群
Kibana 是一个用户友好的数据分析和可视化平台,它与 Elasticsearch 配合得很好。你可以使用以下命令来安装 Kibana:
$ docker run -d --name kibana --net elasticsearch -p 5601:5601 kibana:7.9.2
该命令将创建一个 Kibana 容器,并将容器的 5601 端口映射到主机的同名端口。现在你可以打开浏览器,访问 http://localhost:5601/
,验证 Kibana 是否能够正确连接到 Elasticsearch 集群。
结论
本篇文章介绍了如何在 Docker 中部署 Elasticsearch 集群。我们详细讲述了创建 Elasticsearch 镜像,创建 Elasticsearch 集群和使用 Kibana 可视化 Elasticsearch 集群的方法,同时还提供了相关示例代码。希望这篇文章能够帮助你快速部署 Elasticsearch 集群,并且轻松地进行搜索和分析。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67300739eedcc8a97c90e14d