elasticsearch集群优化
Posted imcati
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch集群优化相关的知识,希望对你有一定的参考价值。
es集群优化方案:
1.节点职责划分明确:master节点(控制整个集群),数据节点(存储数据),客户端节点(响应用户,转发请求);
2.禁用交换分区:
3.关闭data节点服务器的http功能:
4.内存分配
配置详情
1. 节点职责划分
主节点:主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点。 配置文件定义:node.master: true node.data: false
数据节点:主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作等。 配置文件定义:node.master: false node.data: true
客户端节点:处理路由请求,处理搜索,分发索引操作等,从本质上来讲客户节点表现为智能负载平衡器。配置文件定义:node.master: false node.data: false
2. 禁用交换分区
临时禁用:
swapoff -a
降低操作系统交换内存的频率:
在/etc/sysctl.conf中配置:vm.swappiness = 1
配置JVM锁住内存:
在elasticsearch.yml配置: bootstrap.mlockall: true
3.关闭data节点服务器的http功能
针对ElasticSearch集群中的所有数据节点,不用开启http服务。将其中的配置 参数这样设置:http.enabled: false。
同时不要安装head, bigdesk, marvel等监控插件,保证data节点服务器只需处理创建/更新/删除/查询索引数据等操作。
4.内存分配
配置机器50%的内存给elasticsearch,预留一半内存给Lucene使用。 修改配置文件/etc/elasticsearch/jvm.options。
以上是关于elasticsearch集群优化的主要内容,如果未能解决你的问题,请参考以下文章
elasticsearch + kibana + x-pack + logstash_集群部署安装
Elasticsearch---spring-boot-starter-data-elasticsearch整合攻略详解
SpringBoot集成ElasticSearch 02使用 spring-boot-starter-data-elasticsearch 集成并使用高级客户端