返回

进阶教程:搭建多节点 Elasticsearch 集群,尽享 Elastic Stack 8.0 的强大功能

后端

探索 Elasticsearch 集群的无限可能,释放 Elastic Stack 8.0 的全部潜力!本文将详细指导您创建和配置多节点集群,让您充分利用分布式搜索和分析的强大优势。

Elasticsearch 的多节点集群提供了无与伦比的性能、容错和可扩展性。通过将数据分布在多个节点上,您可以大幅提升查询速度,并在出现节点故障时确保服务连续性。此外,集群的可扩展性使您可以根据需求轻松增加或减少节点,满足不断变化的工作负载要求。

在本教程中,我们将使用 Docker 容器和 Helm 图表来构建我们的集群。Docker 提供了轻量级的虚拟化环境,使您能够轻松部署和管理应用程序。Helm 是 Kubernetes 的软件包管理器,可以帮助您简化集群部署过程。

为了开始,请确保您的系统已安装 Docker 和 Helm。然后,按照以下步骤操作:

  1. 创建 Docker 网络: 使用以下命令创建用于集群通信的 Docker 网络:

    docker network create elasticsearch-cluster
    
  2. 部署 Elasticsearch 主节点: 使用以下 Helm 命令部署 Elasticsearch 主节点:

    helm install es-master elasticsearch/elasticsearch \
    --namespace elasticsearch \
    --set service.type=NodePort \
    --set image.tag=8.0.0 \
    --set replicas=1 \
    --set resources.requests.cpu=100m \
    --set resources.requests.memory=256Mi \
    --set node.master=true \
    --set node.data=false
    
  3. 部署 Elasticsearch 数据节点: 使用以下 Helm 命令部署 Elasticsearch 数据节点:

    helm install es-data elasticsearch/elasticsearch \
    --namespace elasticsearch \
    --set service.type=NodePort \
    --set image.tag=8.0.0 \
    --set replicas=2 \
    --set resources.requests.cpu=100m \
    --set resources.requests.memory=256Mi \
    --set node.master=false \
    --set node.data=true
    
  4. 验证集群状态: 等待集群启动,然后使用以下命令验证其状态:

    kubectl get pods -n elasticsearch
    

一旦所有 Pod 处于运行状态,您的 Elasticsearch 集群就已成功创建。您可以通过以下命令连接到主节点:

curl http://localhost:9200

您应该会看到类似于以下内容的响应:

{
  "name" : "es-master-0",
  "cluster_name" : "es-cluster",
  "cluster_uuid" : "QAZWSX12345",
  "version" : {
    "number" : "8.0.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "1234567890",
    "build_date" : "2023-03-08T16:01:02.999Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.17.0"
  },
  "tagline" : "You Know, for Search"
}

恭喜您!您已成功创建了多节点 Elasticsearch 集群。通过充分利用分布式搜索和分析的优势,您可以释放 Elastic Stack 8.0 的全部潜力,提升您的搜索体验并推动您的业务发展。