等待中的任务编辑

有一些任务只能由主节点去处理,比如创建一个新的 索引或者在集群中移动分片。由于一个集群中只能有一个主节点,所以只有这一节点可以处理集群级别的元数据变动。在 99.9999% 的时间里,这不会有什么问题。元数据变动的队列基本上保持为零。

在一些 罕见 的集群里,元数据变动的次数比主节点能处理的还快。这会导致等待中的操作会累积成队列。

等待中的任务 API 会给你展示队列中(如果有的话)等待的集群级别的元数据变更操作:

GET _cluster/pending_tasks

通常,响应都是像这样的:

{"tasks": []
}

这意味着没有等待中的任务。如果你有一个罕见的集群在主节点出现瓶颈了,等待中的任务列表可能会像这样:

{"tasks": [{"insert_order": 101,"priority": "URGENT","source": "create-index [foo_9], cause [api]","time_in_queue_millis": 86,"time_in_queue": "86ms"},{"insert_order": 46,"priority": "HIGH","source": "shard-started ([foo_2][1], node[tMTocMvQQgGCkj7QDHl3OA], [P],s[INITIALIZING]), reason [after recovery from gateway]","time_in_queue_millis": 842,"time_in_queue": "842ms"},{"insert_order": 45,"priority": "HIGH","source": "shard-started ([foo_2][0], node[tMTocMvQQgGCkj7QDHl3OA], [P],s[INITIALIZING]), reason [after recovery from gateway]","time_in_queue_millis": 858,"time_in_queue": "858ms"}]
}

可以看到任务都被指派了优先级( 比如说 URGENT 要比 HIGH 更早的处理 ),任务插入的次序、操作进入队列多久,以及打算处理什么。在上面的列表中,有一个 创建索引(create-index) 和两个 启动分片(shard-started) 的操作在等待。

什么时候应该担心等待中的任务?

就像曾经提到过的,主节点很少会成为集群的瓶颈。唯一可能成为瓶颈的是集群状态非常大 而且更新频繁。

例如,如果你允许客户按照他们的意愿创建任意的动态字段,而且每个客户每天都有一个独立索引,那么你的集群状态会变得非常大。集群状态包括 ( 但不限于 ) 所有索引及其类型,以及每个索引的全部字段。

所以如果你有 100000 客户,然后每个客户平均有 1000 个字段,而且数据有 90 天的保留期—这就有九十亿个字段需要保存在集群状态中。不管它何时发生变更,所有的节点都需要被通知。

主节点必须处理这些变动,这需要不小的 CPU 开销,加上推送更新的集群状态到所有节点的网络开销。

这就是那些可以看到集群状态操作队列上涨的集群。没有简单的办法可以解决这个问题,不过你有三个选择:

  • 使用一个更强大的主节点。不幸的是,这种垂直扩展只是延迟这种必然结果出现而已。
  • 通过某些方式限定文档的动态性质来限制集群状态的大小。
  • 到达某个阈值后组建另外一个集群。

转载于:https://www.cnblogs.com/bonelee/p/7285792.html

ES等待任务——是master节点上的task任务相关推荐

  1. master节点重置后添加node报错_超强教程!在树莓派上构建多节点K8S集群!

    在很长一段时间里,我对于在树莓派上搭建Kubernetes集群极为感兴趣.在网络上找到一些教程并且跟着实操,我已经能够将Kubernetes安装在树莓派上,并在三个Pi集群中工作.然而,在master ...

  2. 【云原生】K8S master节点更换IP以及master高可用故障模拟测试

    文章目录 一.前言 二.配置 多个master 节点 1)节点信息 1)安装docker或containerd 2)安装kubeadm,kubelet和kubectl 1.配置k8s yum源 2.修 ...

  3. 【K8S】基于单Master节点安装K8S集群

    写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8 ...

  4. hadoop slaves文件_hadoop:分布式集群参数master节点的配置!

    之前的文章中我们已经将master节点的网络IP.hostname文件.hosts文件配置完成,接下来还有hadoop相关配置文件需要修改.今天我们来讲master节点hadoop的配置. 1.hdf ...

  5. 搭建K8s集群(kubeadm方式)-部署master节点

    安装Docker/kubeadm/kubelet 所有节点安装Docker/kubeadm/kubelet ,Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker 安装D ...

  6. Taints和Tolerations联用,将pod部署到k8s的master节点

    一般,k8s的master为了保持高性能,在这个主节点上只运行一些管理必须的POD. 如果我们限于资源,或是一些监控类的pod要部署到master节点呢? 昨天遇到这个问题,按网上通用的方法,未解决, ...

  7. kubesphere master节点执行kubectl get po Unable to connect to the server: Forbidden

    在kubesphere master节点上执行kubectl get po -n xx报出Unable to connect to the server: Forbidden的错误信息,但是集群整体运 ...

  8. CentOS7安装k8s服务--Master节点和Node节点

    CentOS7安装k8s服务 需求是在六台服务器上安装k8s服务,三台master节点,三台node节点,服务器的操作系统是BC-Linux,就当Centos用吧. 先给出大佬的文章(我就是看他的): ...

  9. k8s集群重新将master节点加入集群

    文章目录 问题背景 解决过程 基础环境恢复 恢复etcd集群 恢复docker 恢复k8s集群 总结 问题背景 由三台master节点组成的k8s集群,由于其中一台master节点启动文件异常,将机器 ...

最新文章

  1. Java如何使用Listener
  2. 理解node.js中的 Event Loop
  3. hdu5459(2015沈阳网络赛J题)
  4. Eureka的高可用
  5. nsga2算法c++实现_Bellman-Ford算法
  6. 杂:(4)NE555
  7. C语言:进制转换(整数、字符串)
  8. ubuntu环境搭建六:安装chrome浏览器
  9. “WiFi 万能钥匙”盗 9 亿用户数据,如何看待运营平台滥用隐私的问题?
  10. 基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法
  11. PowerDesigner--comment和name互相复制
  12. 帆软控件焦点事件设置可用性
  13. C++基础知识面试精选100题系列(11-20题)[C++ basics]
  14. axure rp pro 8.0 中文+破解补丁 v8.0.0.3333专业版
  15. Java jdk7升级到jdk8
  16. 四元数与欧拉角之间的换算关系
  17. autojs读取文字_Auto.js 获取识别图片文本
  18. NAT在NDIS中间层驱动中的实现
  19. 度小满金融产品经理笔试题目
  20. JavaScript中Unicode编码和中文相互转换

热门文章

  1. 《Linux总线、设备与驱动》USB设备发现机制
  2. php自动断词,PHP自动分页、防止英文单词被截段、去除HTML代码
  3. shell中join链接多个域_shell 如何实现两个表的join操作
  4. java 整合hadoop_Spark 如何摆脱java双亲委托机制优先从用户jar加载类?
  5. abs 不会整数 方法 溢出_在 Golang 中针对 int64 类型优化 abs()
  6. 计算机原理基础知识pdf,计算机原理第一章.pdf
  7. linux定时任务配置失效,linux下定时任务和延迟任务
  8. JS数组去重之利用set数据结构去重
  9. 劲爆!java的学习网站
  10. python【数据结构与算法】快速幂and矩阵快速幂取模(看不懂你来打我)