Elasticsearch生产应用(进阶版),不知道怎么提升生产ES集群性能,看这篇就可以了

这里借助kibana进行修改相应的配置

elasticsearch集群的部署,详情请看上一篇文章:

Elasticsearch最新版快速入门看这个就可以了-CSDN博客

基础ES集群运维篇可以查看

Elasticsearch 生产应用(实用版),知晓这些,你就可以进行简单的ES集群运维了-CSDN博客

1、生产环境常用配置与上线清单

Development vs. production mode

    从ES 5版本开始,支持 development 和 production 两钟运行模式

       开发模式

       生产模式

Bootstrap checks检测

    一个集群在 production mode 时 。启动时必须通过所有bootstrap 检测,否则会启动失败

    Bootstrap checks 可以分为两类:JVM & Linux checks 。

                Linux checks 只针对Linux系统

JVM

    从ES 6版本开始,只支持64位的JVM

       配置 config/jvm.options

    避免修改默认配置

       将内存Xms 和Xmx 设置成一样,避免 heap resize 时引发停顿

       Xmx 设置不要超过物理内存的50%(留有足够的内存用于全文检索) ;单个节点上,最大内存建议不要超过32G内存(JVM内存小于32时,会使用JVM对象指针压缩的技术,大于32时,可能会引起性能下降)

        详情看 A Heap of Trouble: Managing Elasticsearch's Managed Heap | Elastic Blog

       生产环境,JVM必须使用server模式

       关闭JVM swapping

集群的API设定

静态设置和动态设定

       静态配置文件尽量简洁:按照文档设置所有相关参数。Elasticsearch.yml配置文件中尽量只写必备参数

    其他的设置项可以通过API动态进行设定,动态设定分 transient 和 persistent 两种,都会覆盖elasticsearch.yml中的设置

       Transient 在集群重启后会丢失

       Persistent在集群中重启后不会丢失

参照文档“setup elasticsearch > important system configuration”

       Important System Configuration | Elasticsearch Guide [7.1] | Elastic

    Disable swapping ,increase file descriptor ,虚拟内存 ,number 偶发thread

详细参考官方文档或者 ELK实验报告中的,优化资源限制配置

2、集群具体性能参考依据

(1)、网络

单个集群不要跨数据中心进行部署(不要使用WAN)网络延迟越小越好

    节点中间的hops 越少越好

    如果有多块网卡,最好将transport 和 http 绑定到不同的网卡,并设置不同的防火墙rules

    按需为 coordinating node 或 ingest node 配置负载均衡

(2)、内存设定计算依据

内存大小要根据node需要存储的数据来进行估算

       搜索类的比例建议:1:16

       日志类的: 1:48 – 1:96 之间

    总数据量1T ,设置一个副本 = 2T 总数据量

       如果搜索类的项目,每个节点31*16 =496G ,加上预留空间,所以每个节点最多400G数据,至少需要5个节点

       如果是日志类的项目,每个节点 31*50 = 1550GB ,2个数据节点即可

(3)存储

    推荐使用SSD,使用本地存储(local disk),避免使用 SAN NFS / AWS /Azure filesystem

    可以在本地指定多个 “path.data”,以支持使用多块磁盘

    ES本身提供了很好的HA机制;无需使用RAID 1/5/10

    可以在warm 节点上使用 spinning disk ,但是需要关闭 concurrent merges

       Index.merge.scheduler.max_thread_count:1

       Trim 你的SSD

(4)服务器硬件

    建议使用中等配置的机器,不建议使用过于强劲的硬件配置

       Medium machine over large machine

    不建议在一台服务器上运行多个节点

(5)集群设置:throttles限流

为relocation 和recovery 设置限流,避免过多任务对集群产生性能影响

    Recovery

      Cluster.routing.allocation.node_concurrent_recoveries:2

    Relocation

    Cluster.routing.allocation.cluster_concurrent_rebalance:2

(6)集群设置:关闭dynamic indexes(动态索引创建的功能)

    可以考虑关闭动态索引创建的功能,需要进行手动创建

PUT _cluster/settings
{
  "persistent": {
    "action.auto_create_index":false
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

無爲謂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值