ElasticSearch优化系列一:集群节点规划
点击“阅读原文”直接打开【北京站 | 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服务器返回的结果进行一个汇总处理, 最终返回给客户端。
针对ElasticSearch集群中的所有数据节点,不用开启http服务。将其中的配置 参数这样设置:http.enabled: false,同时也不要安装head, bigdesk, marvel等监控 插件,这样保证data节点服务器只需处理创建/更新/删除/查询索引数据等操作。
http功能可以在非数据节点服务器上开启,上述相关的监控插件也安装到这些服 务器上,用于监控ElasticSearch集群状态等数据信息。
这样做一来出于数据安全考虑,二来出于服务性能考虑。
一台物理服务器上可以启动多个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
往期精彩回顾
深度学习视频(一) | 免费放送—深度学习的应用场景和数学基础
点击“阅读原文”直接打开【北京站 | GPU CUDA 进阶课程】报名链接