elasticsearch系列四:集群常规运维

概述

 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。

案例

      起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不行了,我们可以通过cat api查看索引的segments情况,比如下图:

图片

     如果发现索引的segment段过多,并且每个段数据量很小,那么就可以通过合并段的措施来提升检索性能。

     

那么我们在大批量迁移的时候,发现数据明明写入了但是少了很多?这是为什么呢,咱们还是可以通过cat api查看下线程池的状态,如下图:

图片

     

通过查看写入线程池的状态观测是不是达到集群最大写入能力了,导致线程池执行了拒绝策略等等。更多的线程池说明可见官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html 

    还可以通过cat查看集群中节点数据分配情况如图:

图片

    

    上面都是介绍的cat api的使用方法,那么对于有的索引状态、集群状态不正常的时候我们怎么分析原因呢?这时候就得通过cluster api了,比如诊断当前集群什么不健康,如下图:

图片

  

     比如我们得到如下原因:

The node containing this shard copy recently left the cluster. Elasticsearch is waiting for it to return. If the node does not return within [%s] then Elasticsearch will allocate this shard to another node. Please wait.

      那通过这个结果我们就可以清晰的了解到原来这个索引之所以是unassigned状态是因为,持有它的节点离开了集群,也就是说有个节点可能down了 和集群失去联系了。之前在中国电信就遇到过类似问题,由于集群中某个节点物理内存出现问题,未接到通知运维同事就临时停机修复了,当时集群部分索引状态就unassigned,也是通过explain查询到有一台物理节点失去联系了,联系运维同事后才知有一台集群出现了问题,好在当时只是存储了日志数据,停掉了所有的logstash,关闭了集群rebalance和自动分配功能,防止大量磁盘数据移动。

     待该节点恢复后再开启rebalance和自动分配功能,开启logstash消费囤积在kafka中的日志数据。

     包括我们升级es集群的时候也需要先关闭以上两个功能,具体api如下:

           cluster.routing.allocation.enable :

                 all - (默认值)允许为所有类型的分片分配分片。

                 primaries - 仅允许分配主分片的分片。

                 new_primaries - 仅允许为新索引的主分片分配分片。

                 none - 任何索引都不允许任何类型的分片。

          cluster.routing.rebalance.enable

                  all - (默认值)允许各种分片的分片平衡。

                  primaries - 仅允许主分片的分片平衡。

                  replicas - 仅允许对副本分片进行分片平衡。

                  none - 任何索引都不允许任何类型的分片平衡。

           cluster.routing.allocation.allow_rebalance

                 all 始终 - 始终允许重新平衡。

                 indices_primaries_active - 仅在所有主分片激活时。

                 indices_all_active - (默认)仅当所有分片都激活时。

    对于升级完后的集群或者部分节点正常后的es来说可能会发生数据恢复,那么这个时候如果想最短时间恢复完成,可以通过设置集群的并发度:

          cluster.routing.allocation.node_concurrent_recoveries 

该值最好等于磁盘的数量(对于raid0来说)。

总结

我们想要更好的使用es不能只注意查询语法的书写,需要全访问的深入的了解es,建议从头到尾过一遍官方文档,毕竟只有目前最了解孩子。


Elasticsearch系列经典文章

  • elasticsearch列一:索引模板的使用

  • elasticsearch系列二:引入索引模板后发现数据达到一定量还是慢怎么办?

  • elasticsearch系列三:常用查询语法

  • Elasticsearch 底层存储原理解密

  • Elasticsearch优化建议

  • 干货 | Elasticsearch 8.X 节点角色划分深入详解

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边缘计算网关:重新定义物联网数据处理

随着物联网(IoT)设备的爆炸式增长,数据处理和分析的需求也在迅速增加。传统的数据处理方式,将所有数据传输到中心服务器进行处理,不仅增加了网络负担,还可能导致数据延迟和安全问题。因此,边缘计…

Java虚拟机中的垃圾回收

2 垃圾回收 2.1 判断一个对象是否可回收 2.1.1 引用计数法 如果一个对象被另一个对象引用,那么它的引用计数加一,如果那个对象不再引用它了,那么引用计数减一。当引用计数为 0 时,该对象就应该被垃圾回收了。 但是下面这种互相…

kafka实现延迟消息

背景 我们知道消息中间件mq是支持延迟消息的发送功能的,但是kafka不支持这种直接的用法,所以我们需要独立实现这个功能,以下是在kafka中实现消息延时投递功能的一种方案 kafka实现延时消息 主要的思路是增加一个检测服务,这个检…

0开始配置Cartographer建图和导航定位

0开始配置Cartographer 日期:12-19 硬件:激光雷达IMU 小车的tf变换: 建图配置 lua文件配置:my_robot.lua include "map_builder.lua" include "trajectory_builder.lua"options {map_builder MAP_BUILDE…

华为无线ac双链路冷备和热备配置案例

所谓的冷备和热备,冷备就是不用vrrp和hsb协议同步ap和用户信息,主的断了等七十五秒后,备的capwap和ap连接上去。 双链路冷备不用vrrp和hsb 双链路热备份只用hsb同步ap和用户信息,不用vrrp,两个ac可以不用在同一个二层…

【Linux】缓冲区理解

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 一个奇怪的现象2. 为什么要有缓冲区3. 缓冲区的刷新策略4. 缓冲区在哪里5. 实现一…

面试题:说一下Spring 中的 @Cacheable 缓存注解?

文章目录 1 什么是缓存2 本地缓存和集中式缓存3 本地缓存的优点4 Spring对于缓存的支持4.1 spring支持的CacheManager4.2 GuavaCache4.3 引入依赖4.4 创建配置类4.5 缓存注解4.6 Cacheable的用法 5 Cacheable失效的原因 1 什么是缓存 第一个问题&#xff0c;首先要搞明白什么是…

详解“量子极限下运行的光学神经网络”——相干伊辛机

量子计算和量子启发计算可能成为解答复杂优化问题的新前沿&#xff0c;而经典计算机在历史上是无法解决这些问题的。 当今最快的计算机可能需要数千年才能完成高度复杂的计算&#xff0c;包括涉及许多变量的组合优化问题&#xff1b;研究人员正在努力将解决这些问题所需的时间缩…

VScode的入门手册(IDEA迁移到VScode)

从IDEA迁移到VScode的过程中&#xff0c;会有很多不适应的地方&#xff0c;下面算是一篇VScode的入门手册&#xff0c;也可以说是从IDEA迁移到VScode的手册。 命令面板&#xff08;Command Palette&#xff09; 允许你快速访问和执行命令。 在 Visual Studio Code 中&#x…

最新Jasmine博客模板:简洁美观的自适应Typecho主题

Jasmine是一个专为博客类网站设计的Typecho主题。它以简洁为基础&#xff0c;力求展现出精致而美观的风格。主题采用了响应式设计&#xff0c;即使在移动设备上也能提供良好的使用体验。此外&#xff0c;主题还进行了针对性的优化&#xff0c;包括SEO、夜间模式和代码高亮等方面…

ES的使用(Elasticsearch)

ES的使用&#xff08;Elasticsearch&#xff09; es是什么&#xff1f; es是非关系型数据库&#xff0c;是分布式文档数据库&#xff0c;本质上是一个JSON 文本 为什么要用es? 搜索速度快&#xff0c;近乎是实时的存储、检索数据 怎么使用es? 1.下载es的包&#xff08;环境要…

三台CentOS7.6虚拟机搭建Hadoop完全分布式集群(二)

这个是笔者大学时期的大数据课程使用三台CentOS7.6虚拟机搭建完全分布式集群的案例&#xff0c;已成功搭建完全分布式集群&#xff0c;并测试跑实例。 6.安装JDK 以下操作现在master上操作&#xff0c;然后远程复制到slave01、slave02即可。 6.1 将压缩包发送到master节点机…

通过AWS Endpoints从内网访问S3

AWS S3作为非结构化数据的存储&#xff0c;经常会有内网中的app调用的需求。S3默认是走公网访问的&#xff0c;如果内网app通过公网地址访问S3并获取数据会消耗公网带宽费用。如下图所示&#xff1a; AWS 提供了一种叫做endpoints的资源&#xff0c;这种资源可以后挂S3服务&a…

【Maven】linux部署maven

简介 最近学习hyperledger-fabric超级账本&#xff08;区块链&#xff09;&#xff0c;需要使用到java和maven&#xff0c;所以重新学习了一下如何部署maven&#xff0c;这里附上参考文档。在附上官方网站的下载地址&#xff1a;https://maven.apache.org/download.cgi。首先去…

WPF+Halcon 培训项目实战(7):目标匹配助手

前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享&#xff0c;想要源码或者教学视频可以和他联系一下。 相关链接 微软系列技术教程 WPF 年度公益课程 Halcon开发 CSD…

Kindle使用USB数据线传书封面无法显示问题

以下内容只针对USB传书&#xff08;非越狱版本&#xff0c;越狱了有相关插件&#xff0c;这里不谈&#xff09;&#xff0c;不包括邮件传书。 恶心图如下&#xff1a; 直接把mobi/azw3/azw &#xff08;epub模式不能直接拷贝&#xff0c;kindle无法读取&#xff09;格式的电子…

STL——stack容器

1.stack基本概念 概念&#xff1a;stack是一种先进后出&#xff08;First In Last Out,FILO&#xff09;的数据结构&#xff0c;它只有一个出口。 栈中只有顶端的元素才可以被外界使用&#xff0c;因此栈不允许有遍历行为。 栈中进入数据称为——入栈&#xff08;push&#x…

在markdown中添加视频的两种方法

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置&#xff0c;前后端开发环境的配置&#xff0c;编辑器的配置&#xff0c;网络服务的配置&#xff0c;网络命令的应用与配置&#xff0c;windows常见问题的解决等。 文章目录 方式一源代码: 方式二结尾语网络的梦想 markd…

提升数据库性能的关键指南-Oracle AWR报告

文章目录 一、了解AWR报告&#xff1a;数据库性能的仪表盘二、生成AWR报告三、解读AWR报告的关键部分1.报告开头的系统基础信息2.ADDM发现3.负载概览(Load Profile)4.参数文件5.顶级前台等待事件6.SQL 统计信息-顶级SQL7.SGA Advisory AND PAG Advisory 一、了解AWR报告&#x…

如何理解Go语言的数组

什么是数组 首先下一个定义&#xff0c;数组是对线性的内存区域的抽象。高维数组和一维数组有着同样的内存布局。&#xff08;大学生考试的时候别借鉴哈&#xff0c;这是自己下的定义&#xff0c;相当于是一篇议论文的论点。&#xff09; 线性的内存区域说白了就是连续的内存…