博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】
阅读量:6233 次
发布时间:2019-06-22

本文共 1323 字,大约阅读时间需要 4 分钟。

转自:https://blog.csdn.net/laoyang360/article/details/78290484

1、问题引出

ES5.X节点类型多了ingest节点类型。 

针对3个节点、5个节点或更多节点的集群,如何配置节点角色才能使得系统性能最优呢? 
这里写图片描述

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

这里写图片描述

3、ES5.X节点角色清单

这里写图片描述

由于其他几种类型节点和用途都很好理解,无非主节点、数据节点、路由节点。

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官网、国内外论坛、博客都没有明确的定义。 

这里写图片描述 
我的思考如下: 
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] 
(5.x官网) 
[2]  
(2.x官网) 
[3]  
(ES员工回复) 
[4]  
(ingest节点使用详解) 
[5]  
(官网原文翻译) 
[6]  
(国内的哥们思考过,但我认为不完全对)

你可能感兴趣的文章
出去吃顿饭容易嘛(r11笔记第5天)
查看>>
IMP-00009: 导出文件异常结束
查看>>
Java AIO 入门实例(转)
查看>>
SSAS中CUBE行权限数据级权限控制
查看>>
HDOJ(HDU) 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
查看>>
git 专题
查看>>
c#中const与readonly区别
查看>>
JavaScript---网络编程(11)--DHTML技术演示(4)-单选框/下拉菜单/添加文件
查看>>
解决WebView调用loadData()方法显示乱码的问题
查看>>
ThinkPHP Where 条件中使用表达式
查看>>
WPF 引用DLL纯图像资源包类库中的图片
查看>>
Redis集群_3.redis主从自动切换Sentinel(转)
查看>>
Android零基础入门第45节:GridView简单使用
查看>>
读书笔记---操作系统概论
查看>>
从ASCII聊起
查看>>
大数据和Hadoop时代的维度建模和Kimball数据集市
查看>>
Android官方入门文档[3]构建一个简单的用户界面
查看>>
编写出色CSS代码的13个建议
查看>>
Alluxio之IO选项:读写类型
查看>>
ECS centos7安装elasticsearch2.4.1填坑日记
查看>>