运行了两年的ES集群,今天索引节点突然不均衡,新建索引分片都集中到一个节点上了,如下图:

同时还有部分节点分片在恢复,如上图,有432个待恢复分片,而且只有两个分片在同时恢复,网络吞吐也很小,这要等到猴年马月:

首先调整索引分布,在集群元数据比较大情况下,修改settings可能会超过30s,需要在后面指定master_timeout:

"index.routing.allocation.include._ip":"node1ip,node2ip,node3ip,node4ip,node5ip"

}'

然后再修改索引恢复参数:

curl -XPUT 'http://localhost:9200/_cluster/settings?flat_settings=true&timeout=60000s&master_timeout=60000s' -d '

{

"transient" : {

"indices.recovery.max_bytes_per_sec" : "900mb",

"cluster.routing.allocation.node_concurrent_recoveries": "10",

"cluster.routing.allocation.cluster_concurrent_rebalance": 10

}

}'

集群设置参数说明:

cluster.routing.allocation.allow_rebalance

设置根据集群中机器的状态来重新分配分片,可以设置为always, indices_primaries_active和indices_all_active,默认是设置成indices_all_active来减少集群初始启动时机器之间的交互。

cluster.routing.allocation.cluster_concurrent_rebalance

设置在集群中最大允许同时进行分片分布的个数,默认为2,也就是说整个集群最多有两个分片在进行重新分布。

cluster.routing.allocation.node_initial_primaries_recoveries

设置指定初始每个节点。

cluster.routing.allocation.node_concurrent_recoveries

设置在节点中最大允许同时进行分片分布的个数,默认为2

cluster.routing.allocation.disable_allocation

使主要分片或副本的分布失效。要知道,如果主分片不存在(那个节点挂了)那么其副本仍然会被提升为主分片,这个设置只有在动态地使用集群更新设置api调用时才生效。

cluster.routing.allocation.disable_replica_allocation

使副本分布失效。和上一个设置一样,只有动态地使用集群更新设置api调用时才生效。

indices.recovery.concurrent_streams

当从一个点(peer)恢复分片时当前节点最多允许的文件读取流的个数,默认为5

最后网络吞吐上去了,索引分片快速恢复,集群恢复正常。

es动态分配分片_解决ES索引分片均衡问题相关推荐

  1. es的分片和副本_Elasticsearch 索引分片与副本设置技巧

    Elasticsearch虽然搜索很快,但如果分片设置不当,当数据量达到一个量级后,查询速度也会直线下降. 如果一个索引具有很大的数据量,它的数据量可能会超出单个节点的容量限制(硬盘容量),而且单个节 ...

  2. java中使用es精准查询_使用ES简单查询语句须知

    查询样例 {"query": { //1 "bool": { ///2 "must": [{ //3 "query_string& ...

  3. 设置文件副本数_ElasticSearch平滑批量缩减索引分片数实践

    一.背景    Elasticsearch作为开源分布式检索分析引擎,具有近实时的检索能力.海量数据的分布式存储能力.海量数据的近实时分析能力,目前广泛应用于国内外互联网公司.站内检索.订单类数据的多 ...

  4. es分片多少合理_【ES】ElasticSearch 深入分片

    @[toc] 一.分片介绍 分片是 Elasticsearch 在集群中分发数据的关键. 把分片想象成数据的容器.文档存储在分片中,然后分片分配到集群中的节点上.当集群扩容或缩小,Elasticsea ...

  5. es动态分配分片_ES集群分片及副本调整

    分片shardsES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配 副本replica ...

  6. 【Elasticsearch】es 集群健康值 红色 red 分片 未分配

    1.概述 转载:https://zhuanlan.zhihu.com/p/101608973 转载这篇文章是因为根据我的文章 [Elasticsearch]elasticsearch 7.x 查看分片 ...

  7. es数据更新时间_京东到家订单中心系统mysql到es的转化之路

    原文:https://www.toutiao.com/i6796507988602389006 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大 ...

  8. Elasticsearch(一)——Es安装(三个必安工具、安装各种类型分词器)、Es 十大核心概念、通过 Kibana 操作 Es(中文分词、Es各种索引命令操作)

    Elasticsearch(一)--Es安装(三个必安工具.安装各种类型分词器).Es 十大核心概念.通过 Kibana 操作 Es(中文分词.Es各种索引命令操作) 一.Elasticsearch ...

  9. java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制。

    java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制. 一.为什么要使用ES的scroll (1)首先我们要明白es的查询机制:ES的搜索是分2个阶段进行的,即Que ...

最新文章

  1. python按钮点击按一次触发一次_家里有个“按钮开关”能救命,必须每个月按一次,学会受用一生!...
  2. 企业壳的反调试及Hook检测分析
  3. 【Linux】一步一步学Linux——df命令(79)
  4. 系统程序员成长计划-走近专业程序员
  5. 应用程序池优化配置方案(IIS7、IIS7.5)
  6. list下界_下界理论
  7. 类的构造函数和析构函数、默认构造函数
  8. Java多线程面试题总结,Java岗
  9. C# 让应用程序只运行一个实例
  10. html audio解决浏览器无法播放问题
  11. Tecplot新手进阶--使用tecplot宏操作批量处理数据输出图片(详细步骤)
  12. 野火指南者ESP8266模块学习
  13. 刘寅立matlab数值计算案例分析 pdf,《MATLAB数值计算案例分析》源代码
  14. 罗马音平假名中文可复制_日语五十音该怎么写呢?易混淆的五十音
  15. Windows恢复环境启动失败,重新配置WinRE
  16. DDD框架选型:Axon or COLA?
  17. 数据科学库(HM)DAY 2
  18. OpenCV—python 显着性检测二
  19. 记录Python selenium制作自动化农民世界脚本第一天
  20. 这几款 IDEA 主题也太好看了吧,百看不腻

热门文章

  1. 单链表插入、删除操作单步解析(十三)
  2. Ubuntu18.04有线+离线划词翻译GoldenDict
  3. 802.11协议常用语缩写
  4. 使用 FUSE 开发自己的文件系统
  5. 视频编解码(十三):list_for_each_entry列表总结
  6. 使用Redis进行搜索
  7. ubuntu修改启动项等待时间、修改启动项顺序、更改启动内核
  8. java mysql resultset_Java数据库——ResultSet接口
  9. 管状合金电阻和片状合金电阻的区别_SAE 6118、高电阻合金际锻材
  10. go gorm 关联模式_Beego 结合 GORM 操作 Mysql 数据库