ElasticSearch优化系列一:集群节点规划

来源:互联网 发布:如何查看淘宝流量来源 编辑:程序博客网 时间:2024/09/21 06:17

点击“阅读原文”直接打开【北京站 | GPU CUDA 进阶课程】报名链接


作者:苏小保(jacksu) 华为工程师 擅长分布式系统、大数据、机器学习。github地址:https://github.com/jacksu


节点职责单一,各司其职


elasticSearch的配置文件中有2个参数:node.master和node.data。这两个参    数搭配使用时,能够帮助提供服务器性能。


数据节点node.master: false    node.data: true


该node服务器只作为一个数据节点,只用于存储索引数据。使该node服务器功能    单一,只用于数据存储和数据查询,降低其资源消耗率。


master节点node.master: true    node.data: false


该node服务器只作为一个主节点,但不存储任何索引数据。该node服务器将使用    自身空闲的资源,来协调各种创建索引请求或者查询请求,讲这些请求合理分发到相关    的node服务器上。


负载均衡节点 node.master: false    node.data: false


该node服务器即不会被选作主节点,也不会存储任何索引数据。该服务器主要用    于查询负载均衡。在查询的时候,通常会涉及到从多个node服务器上查询数据,并请    求分发到多个指定的node服务器,并对各个node服务器返回的结果进行一个汇总处理,    最终返回给客户端。


关闭data节点服务器中的http功能


针对ElasticSearch集群中的所有数据节点,不用开启http服务。将其中的配置    参数这样设置:http.enabled: false,同时也不要安装head, bigdesk, marvel等监控    插件,这样保证data节点服务器只需处理创建/更新/删除/查询索引数据等操作。


http功能可以在非数据节点服务器上开启,上述相关的监控插件也安装到这些服    务器上,用于监控ElasticSearch集群状态等数据信息。


这样做一来出于数据安全考虑,二来出于服务性能考虑。


一台服务器上最好只部署一个Node


一台物理服务器上可以启动多个Node服务器节点(通过设置不同的启动port),但一台服务器上的CPU,内存,硬盘等资源毕竟有限,从服务器性能考虑,不建议一台服务器上启动多个node节点。


在大规模局点,比如100个点,可以专门配备3个Master,可使用3台具有内存的刀片即可,即参数配置为node.master: true,node.data: false;可以按比例配备数据汇聚节点,比如10个,即参数配置为node.master: false ,node.data: false;小规模节点,可以不用如此设置,当然如果依然有性能问题,也是一个优化的措施。


参考文档


1、ElasticSearch性能优化策略(https://wenku.baidu.com/view/82b082b5998fcc22bcd10df4.html)


2、elasticsearch三个重要的优化(http://zhaoyanblog.com/archives/319.html)


原文链接:http://www.jianshu.com/p/4c57a246164c


   BY  简书  

往期精彩回顾


深度学习视频(一) | 免费放送—深度学习的应用场景和数学基础

深度学习视频(二) | 免费放送—卷积神经网络(一)

深度学习视频(三) | 免费放送—卷积神经网络(二)

深度学习视频(四) | 免费放送—深度学习的具体模型和方法

深度学习视频(五) | 免费放送—上机实操(一)



点击“阅读原文”直接打开【北京站 | GPU CUDA 进阶课程】报名链接