helm 安装 elasticsearch 集群

elasticsearch 集群角色划分

  • Master Node:主节点,该节点不和应用创建连接,每个节点都保存了集群状态,master节点不占用磁盘IO和CPU,内存使用量一般。

  • Master eligible nodes:合格节点,每个节点部署后不修改配置信息,默认就是一个 eligible 节点,该节点可以参加选主流程,成为Mastere节点。该节点也保存了集群节点的状态。eligible节点比Master节点更节省资源,因为它还未成为 Master 节点,只是有资格成功Master节点。

  • Data Node:数据节点,该节点和索引应用创建连接、接收索引请求,该节点真正存储数据,ES集群的性能取决于该节点的个数(每个节点最优配置的情况下),data节点会占用大量的CPU、IO和内存。

  • Coordinating Node:协调节点,该节点和检索应用创建连接、接受检索请求,但其本身不负责存储数据,可当负责均衡节点,该节点不占用io、cpu和内存。

  • Ingest Node:ingest 节点可以看作是数据前置处理转换的节点,支持 pipeline管道 设置,可以使用 ingest 对数据进行过滤、转换等操作,类似于 logstash 中 filter 的作用,功能相当强大。

部署

mkdir -p /data/yaml/default/elasticsearch && cd /data/yaml/default/elasticsearch

helm repo add bitnami https://charts.bitnami.com/bitnami

helm pull bitnami/elasticsearch --version 19.8.1

tar zxvf  elasticsearch-19.8.1.tgz

# 下面有些配置根据自己实际情况修改
cat >> my-values.yaml << EOF
global:
  storageClass: "nfs-client"
  elasticsearch:
    service:
      name: elasticsearch
      ports:
        restAPI: 9200
  kibanaEnabled: false
service:
  type: NodePort

image:
  registry: devharbor.junengcloud.com
  repository: tmp/elasticsearch
  tag: 8.7.1-debian-11-r2

EOF

helm install es -f my-values.yaml elasticsearch

# 检查
kubectl get pod

export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services es-elasticsearch)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
curl http://$NODE_IP:$NODE_PORT/
{
  "name" : "es-elasticsearch-coordinating-0",
  "cluster_name" : "elastic",
  "cluster_uuid" : "dntEOBOFRAyahP_3DjZ4kg",
  "version" : {
    "number" : "8.7.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f229ed3f893a515d590d0f39b05f68913e2d9b53",
    "build_date" : "2023-04-27T04:33:42.127815583Z",
    "build_snapshot" : false,
    "lucene_version" : "9.5.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

# 创建 index
curl -X PUT "http://$NODE_IP:$NODE_PORT/my_index"

# 查看 index
curl -X GET "http://$NODE_IP:$NODE_PORT/_cat/indices?v"
posted @ 2023-05-31 14:09  klvchen  阅读(1106)  评论(0)    收藏  举报