前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch多主、多数据、多协调、多冷节点说明及配置(一)

Elasticsearch多主、多数据、多协调、多冷节点说明及配置(一)

原创
作者头像
低代码布道者
发布2022-07-25 08:56:00
1.5K0
发布2022-07-25 08:56:00
举报
文章被收录于专栏:架构师聊技术

最近因为客户项目需要,所以专门调研了Elasticsearch的这些不常用的重要功能,并整理成文档,现在分享出来,希望对有这方面需求的同行有些帮助

由于内容较多,一共分为三部分分享

  1. Elasticsearch多主、多数据、多协调、多冷节点节点说明及配置
  2. Elasticsearch灾备同步方案设计
  3. Elasticsearch灾备同步方案设计验证
Elasticsearch多主、多数据、多协调、多冷节点说明及配置(一)
Elasticsearch多主、多数据、多协调、多冷节点说明及配置(一)

1. 多主

  • ElasticSearch默认是任何节点都可以成为主节点,也可以手动设置节点成为主节点候选节点,负责管理集群范围内的所有变更,例如增加、删除索引或者增加、删除节点等。
  • 主节点数据需要为奇数,这样主节点出现问题时能选举新的主节点继续提供服务,保证主节点的高可用性
  • 涉及到的elasticsearch.yml配置文件的主要配置项
代码语言:javascript
复制
cluster.name: "BoCloud_cluster"
node.name: master_1
node.master: true
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["dc_es1","dc_es2","dc_es3"]
cluster.initial_master_nodes: ["dc_es1","dc_es2","dc_es3"]
  • 如果node.master、node.data 同时设置为true,则该节点既能参与选举主节点,也能为数据节点,如果node.master设置为true、node.data为false,则该节点只能参与选举主节点

2. 多数据

  • ElasticSearch数据节点主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作。数据节点对cpu,内存,io要求较高, 在优化的时候需要监控数据节点的状态,当资源不够的时候,需要在集群中添加新的数据节点。
  • 涉及到的elasticsearch.yml配置文件的主要配置项
代码语言:javascript
复制
cluster.name: "BoCloud_cluster"
node.name: data_1
node.data: true
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["dc_es1","dc_es2","dc_es3"]
cluster.initial_master_nodes: ["dc_es1","dc_es2","dc_es3"]

3. 多协调

  • ElasticSearch默认每个node都是一个协调节点,但也允许手动设置协调节点,协调节作用就把客户端的请求转分配给最合适的节点来处理,简单来讲就是负载均衡的作用。集群中每个节点的负载情况和健康状况都不一样,有些节点可能已经超负荷了,有一部分甚至已经不健康了,这些不健康的节点就不该再接收请求,否则会导致失败的响应,协调节点知道集群中各个节点的状态。
  • 协调节点主要提到负载均衡的作用
  • 涉及到的elasticsearch.yml配置文件的主要配置项
代码语言:javascript
复制
cluster.name: "BoCloud_cluster"
node.name: condition_1
node.data: false
node.master: false
node.ingest: true
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["dc_es1","dc_es2","dc_es3"]
cluster.initial_master_nodes: ["dc_es1","dc_es2","dc_es3"]
  • 协调节点没有节点数量限制,但建议为奇数,也可以根据实际情况进行调整

4. 多冷节点

  • 冷节点用于不经常访问的read-only索引。作用跟数据库的只读库类似。 当索引不再被频繁查询时,可通过设置冷热数据将不经常使用的数据转移到冷节点,一旦设置这个属性,ElasticSearch会将索引合并到冷节点。同时,同时也可以在配置文件中设置 index.codec: best_compression 保证冷节点的数据压缩,减少空间
  • 冷节点建议跟跟热节点数据节点数对等
  • 涉及到的elasticsearch.yml配置文件的主要配置项
代码语言:javascript
复制
cluster.name: "BoCloud_cluster"
node.name: warm_1
node.data: true
http.port: 9200
node.attr.box_type:warm
transport.tcp.port: 9300
discovery.seed_hosts: ["dc_es1","dc_es2","dc_es3"]
cluster.initial_master_nodes: ["dc_es1","dc_es2","dc_es3"]
  • 数据节点类型可以通过node.attr.box_type设置warm、hot值来标志冷热数据节点,同时在创建index的时候需要指定索引数据保存到数据节点的类型,通过index索引配置文件的index.routing.allocation.require.box_type设置数据存储的节点
代码语言:javascript
复制
{ 
 "settings": { 
   "index.routing.allocation.require.box_type": "hot",
   "index.number_of_replicas": "0"
 } 
}
  • 在索引数据不再经常索引的时,可以属性值为warm使数据转存到冷节点

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 多主
  • 2. 多数据
  • 3. 多协调
  • 4. 多冷节点
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档