刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 、问题引出ES5.X节点类型多了ingest节点类型。针对3个节点、5个节点或更多节点的集群,如何配置节点角色才能使得系统性能最优呢?

2、ES2.X及之前版本节点角色概述image.png

3、ES5.X节点角色清单image.png由于其他几种类型节点和用途都很好理解,无非主节点、数据节点、路由节点。


Ingest的用途:

1)Ingest节点和集群中的其他节点一样,但是它能够创建多个处理器管道,用以修改传入文档。类似 最常用的Logstash过滤器已被实现为处理器。


2)Ingest节点 可用于执行常见的数据转换和丰富。 处理器配置为形成管道。 在写入时,Ingest Node有20个内置处理器,例如grok,date,gsub,小写/大写,删除和重命名。


3)在批量请求或索引操作之前,Ingest节点拦截请求,并对文档进行处理。

这样的处理器的一个例子可以是日期处理器,其用于解析字段中的日期。

另一个例子是转换处理器,它将字段值转换为目标类型,例如将字符串转换为整数。


4、ES5.X节点组合类型有多种类型,如何抉择?

Elasticsearch的员工 Christian_Dahlqvist解读如下:


一个节点的缺省配置是:主节点+数据节点两属性为一身。对于3-5个节点的小集群来讲,通常让所有节点存储数据和具有获得主节点的资格。你可以将任何请求发送给任何节点,并且由于所有节点都具有集群状态的副本,它们知道如何路由请求。


通常只有较大的集群才能开始分离专用主节点、数据节点。 对于许多用户场景,路由节点根本不一定是必需的。


专用协调节点(也称为client节点或路由节点)从数据节点中消除了聚合/查询的请求解析和最终阶段,并允许他们专注于处理数据。

在多大程度上这对集群有好处将因情况而异。 通常我会说,在查询大量使用情况下路由节点更常见。


5、ES5.X集群中如何设置节点角色

对于3个节点、5个节点甚至更多节点角色的配置,Elasticsearch官网、国内外论坛、博客都没有明确的定义。

image.png

我的思考如下:

1)对于Ingest节点,如果我们没有格式转换、类型转换等需求,直接设置为false。

2)3-5个节点属于轻量级集群,要保证主节点个数满足((节点数/2)+1)。

3)轻量级集群,节点的多重属性如:Master&Data设置为同一个节点可以理解的。

4)如果进一步优化,5节点可以将Master和Data再分离。


6、小结

1)Elasticsearch博大精深,尤其新的5.X特性比较多,需要进一步深入研究;

2)集群的配置还有赖于进一步事件总结,再好的理论部署实践都是“花瓶”;

3)貌似图示划分了这么细、写了那么多,以官网为基准,也顺带调研了N多文档,但对Ingest节点的作用依然理解的不够深。希望大家评论探讨下。


参考:

[1]https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#data-node

(5.x官网)

[2] https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-node.html

(2.x官网)

[3] https://discuss.elastic.co/t/master-and-client-node-role-clarifications/104036/2

(ES员工回复)

[4] https://blog.trifork.com/2017/02/02/elasticsearch-ingest-node/

(ingest节点使用详解)

[5] https://wenchao.ren/archives/375

(官网原文翻译)

[6] http://www.cnblogs.com/liang1101/p/7284205.html

(国内的哥们思考过,但我认为不完全对)

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7天前
|
NoSQL
|
2天前
|
自然语言处理 搜索推荐
在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置
在Elasticsearch 7.9.2中安装IK分词器并进行自定义词典配置
7 1
|
17天前
|
存储 运维 监控
【elastic search】详解elastic search集群
【elastic search】详解elastic search集群
17 1
|
23天前
|
Docker 容器
docker 运行 elasticsearch + kibana + head 集群
docker 运行 elasticsearch + kibana + head 集群
|
3天前
|
存储 缓存 Java
掌握Elasticsearch集群参数查询API
掌握Elasticsearch集群参数查询API
|
4天前
|
Java
springboot集成ElasticSearch(支持集群)
springboot集成ElasticSearch(支持集群)
10 0
|
16天前
|
存储 负载均衡 NoSQL
【后端面经】【NoSQL】ElasticSearch - 1 - 1 节点角色 写入数据
【6月更文挑战第12天】中间件高可用与高性能通过冗余、负载均衡和优化实现。Elasticsearch节点有候选主节点、协调节点和数据节点等角色,可兼任或独立。数据写入涉及Buffer、Page Cache和磁盘,通过段合并优化资源使用。查询通过Commit Point识别新段,确保近实时搜索。
22 0
|
17天前
|
缓存 安全 Java
Elasticsearch—生产环境集群核心配置
Elasticsearch—生产环境集群核心配置
19 0
|
17天前
Elasticsearch安装配置文件
Elasticsearch安装配置文件
15 0
|
17天前
|
安全
【Elasticsearch6】安装笔记
【Elasticsearch6】安装笔记
15 2