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://xiahunao.cn/news/2660958.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5改进 | 2023Neck篇 | CCFM轻量级跨尺度特征融合模块(RT-DETR结构改进v5)

一、本文介绍 本文给大家带来的改进机制是轻量级跨尺度特征融合模块CCFM(Cross-Scale Feature Fusion Module)其主要原理是:将不同尺度的特征通过融合操作整合起来,以增强模型对于尺度变化的适应性和对小尺度对象的检测能力。我将…

Python - 深夜数据结构与算法之 Binary Search

目录 一.引言 二.二分查找的简介 1.查找条件 2.代码模版 3.查找示例 三.经典算法实战 1.Search-Rotated-List [33] 2.Sqrt-X [69] 3.Search-2D-Matrix [74] 4.Find-Rotated-Min [153] 5.Valid-Perfect-Square [367] 四.总结 一.引言 前面介绍了二叉树和堆&#xf…

【Vue2+3入门到实战】(12)自定义指令的基本语法(全局、局部注册)、 指令的值、v-loading的指令封装 详细示例

目录 一、学习目标1.自定义指令 二、自定义指令1.指令介绍2.自定义指令3.自定义指令语法4.指令中的配置项介绍5.代码示例6.总结 三、自定义指令-指令的值1.需求2.语法3.代码示例 四、自定义指令-v-loading指令的封装1.场景2.需求3.分析4.实现5.准备代码 六、自定义指令总结 一、…

修改jenkins的目录(JENKINS_HOME)

默认JENKINS_HOME是/var/lib/jenkins/ 现要修改为/home/jenkins_data/jenkins 最开始 sudo cp -a /var/lib/jenkins/ /home/jenkins_data/ 然后如下操作: 1、首先 /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKIN…

【占用网络】OccNet: Scene as Occupancy 适用于检测、分割和规划任务 ICCV2023

前言 本文分享“占用网络”方案中,具有代表性的方法:OccNet。 它以多视角相机为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。 构建一个通用的“3D占用编码特征”,用以表示3D物理世界…

2023-12-29 服务器开发-centos-安装php8

摘要: 2023-12-29 服务器开发-centos-安装php8 centos-安装php8 必备条件 Minimal CentOS 8 / RHEL 8User with sudo rightsInternet Connection (1) 更新系统 更新系统 $ sudo dnf update $ sudo dnf upgrade 重启系统 $ sudo reboot (2) 启用 EPEL & Remi 软件库…

Starling-LM-7B与GPT-4:开源AI的新纪录

引言 在人工智能的前沿领域,Starling-LM-7B的出现标志着开源大型语言模型(LLM)的一大突破。与GPT-4的近距离竞争不仅展示了Starling-LM-7B的技术实力,也突显了开源社区在推动AI发展方面的重要作用。 模型特点 Starling-LM-7B&a…

HTML使用JavaScript的三种方式

要使用 JavaScript&#xff0c;你可以在 HTML 文件中的 <script> 标签中编写代码&#xff0c;或者将代码保存到一个单独的 .js 文件中并在 HTML 文件中引入。以下是一些常用的 JavaScript 使用方式&#xff1a; 内联 JavaScript&#xff1a;在 HTML 文件的 <script&g…

【电子通识】开关的种类

开关在我们日常生活与工作中使用较多。开关有无数种形式&#xff0c;种类繁多。从微小的按钮到巨大的控制器&#xff0c;功能多种多样。这种多样性受到机械或电气操作、手动或电子控制等因素的影响&#xff0c;并且与个人在设计美学和用户界面方面的偏好也有关。 电子开关采用 …

mysql查询出json格式字段中的值

一、使用场景 由于一些特殊数据使用json格式保存到表数据种中了&#xff0c;在查询的时候需要查询出这条数据中json格式中的某个字段 比如&#xff1a;需要将下列字符串中的“nationality”字段单独查询出来 json格式是一个对象 结果&#xff1a; json格式是一个集合 查询结…

第三章 Zookeeper服务注册与发现

Zookeeper服务注册与发现 gitee&#xff1a;springcloud_study: springcloud&#xff1a;服务集群、注册中心、配置中心&#xff08;热更新&#xff09;、服务网关&#xff08;校验、路由、负载均衡&#xff09;、分布式缓存、分布式搜索、消息队列&#xff08;异步通信&#…

泛目录是干什么用的蚂蚁seo泛程序

泛目录是干什么用的蚂蚁seo泛程序目录 泛目录是一种常见的网站优化方法&#xff0c;属于黑帽技术的一种。它的核心原理是利用高权重的网站继承目录&#xff0c;然后快速获得收录与排名。这种方法可以帮助网站在搜索引擎中获得更好的排名&#xff0c;从而吸引更多的流量。 泛目…

C++面试宝典第11题:两数之和

题目 给定一个整数数组和一个目标值,请在该数组中找出和为目标值的那两个整数,并返回他们的数组下标,要求时间复杂度为O(n)。可以假设每种输入只会对应一个答案,注意:不能重复利用这个数组中同样的元素。 解析 这道题主要考察应聘者对算法时间复杂度和空间复杂度的理解,时…

“踩坑”经验分享:Swift语言落地实践

作者 | 路涛、艳红 导读 Swift 是一种适用于iOS/macOS应用开发、服务器端的编程语言。自2014年苹果发布 Swift 语言以来&#xff0c;Swift5 实现了 ABI 稳定性、Module 稳定性和Library Evolution&#xff0c;与Objective-C&#xff08;下文简称“OC”&#xff09;相比&#xf…

边缘智能网关在智慧大棚上的应用突破物联网大关

边缘智能网关在智慧大棚上的应用&#xff0c;是现代农业技术的一大突破。通过与农作物生长模型的结合&#xff0c;边缘智能网关可以根据实时的环境数据和历史数据&#xff0c;预测农作物的生长趋势和产量&#xff0c;提供决策支持和优化方案。这对于农民来说&#xff0c;不仅可…

算法学习系列(十五):最小堆、堆排序

目录 引言一、最小堆概念二、堆排序模板&#xff08;最小堆&#xff09;三、模拟堆 引言 这个堆排序的话&#xff0c;考的还挺多的&#xff0c;主要是构建最小堆&#xff0c;并且在很多情况下某些东西还用得着它来优化&#xff0c;比如说迪杰斯特拉算法可以用最小堆优化&#…

软件测试/测试开发丨学习笔记之Python运算符

运算符的作用 Python基础语法的内容通常表示不同数据或变量之间的关系 算数运算符 运算符描述加-减*乘/除%取模**幂//取整除 取模与取余区别 概念上&#xff1a;取模是计算机术语&#xff0c;取余属于数学概念&#xff1b; 结果上&#xff1a;当同号的两个数相除&#xff…

【北亚服务器数据恢复】ZFS文件系统服务器ZPOOL下线的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器中有32块硬盘&#xff0c;组建了3组RAIDZ&#xff0c;部分磁盘作为热备盘。zfs文件系统。 服务器故障&#xff1a; 服务器运行中突然崩溃&#xff0c;排除断电、进水、异常操作等外部因素。工作人员将服务器重启后发现无法进入操作系统。…

CData ADO.NET Data Providers 2022 Crack

ADO.NET 数据提供程序 轻松将 .NET 应用程序与 SaaS、NoSQL 和大数据连接起来 数据绑定到应用程序、数据库和服务 完整的创建、读取、更新和删除 (CRUD) 支持&#xff0c;无需编码 200 基于标准的 ADO.NET 数据提供程序 100% 适用于 .NET Standard、.NET Core 和 Xamarin 的完全…

低成本高效率易部署,Ruff工业数采网关+IoT云平台赋能工厂数字化管理

随着工业4.0的快速发展&#xff0c;工业物联网是工业企业实现数字化转型的重要助力&#xff0c;物联网技术的应用也越来越广泛。 作为连接设备与网络的关键节点&#xff0c;数据采集网关是连接工业设备与物联网平台的硬件设备&#xff0c;它负责将工业设备的数据采集、传输到物…