ES运维常用指令,常用的故障诊断指令,es集群健康状况、集群节点分配信息、分片分配信息、分片未分配问题诊断、集群开启密码访问

news2024/11/18 13:36:31

目录

查询集群的健康状况

查看集群中所有节点的分配信息

查询集群/索引的文档总计数

查询集群的分片分配信息

查询集群中索引的分片数、文档数或集群中包含哪些索引

查询集群的快照存储信息

查看集群状态信息

查看集群统计信息

查看集群中所有节点的节点属性

查询分片未分配的原因

集群开启密码访问


查询集群的健康状况

  • 绿色:所有分片都可用
  • 黄色:至少有一个副本不可用,但是所有主分片都可用
  • 红色:至少有一个主分片不可用,数据不完整 
GET _cat/health

GET _cluster/health
{
  "cluster_name" : "my_cluster",   	集群名称 
  "status" : "yellow",				集群健康值
  "timed_out" : false,				是否超时
  "number_of_nodes" : 3,			索引主分片数量
  "number_of_data_nodes" : 3,		数据节点数量
  "active_primary_shards" : 37,		活跃主分片数量
  "active_shards" : 65,				活跃的分片数量
  "relocating_shards" : 0,			迁移中的分片的数量
  "initializing_shards" : 0,		初始化中的分片数量
  "unassigned_shards" : 3,			未分配的分片数量
  "delayed_unassigned_shards" : 0,	延迟未分配的分片数量
  "number_of_pending_tasks" : 0,	尚未执行的集群级别更改的数量
  "number_of_in_flight_fetch" : 0,							未完成的提取次数
  "task_max_waiting_in_queue_millis" : 0,					自最早启动的任务等待执行以来的时间
  "active_shards_percent_as_number" : 95.58823529411765		集群中活动分片的比率,以百分比表示
}

查看集群中所有节点的分配信息

GET _cat/nodes?v

获取每个节点的分配情况,包括获取其分配的 IP 地址、资源占用信息、角色等

查询集群/索引的文档总计数

GET _cat/count

计算集群中的文档总数 

GET _cat/count?v
// 返回结果:
epoch      timestamp count
1654141686 03:48:06  13342

计算product 索引中的文档总数 

GET _cat/count/product?v
// 返回结果
epoch      timestamp count
1654141931 03:52:11  13

此命令可被_count API 替代 

GET product/_count
// 返回结果
{
  "count" : 13,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  }
}

查询集群的分片分配信息

GET _cat/shards?v

        用于查看分片所处位置,包括所处哪个节点以及所处节点的 IP 地址。常见的使用场景如:索引的生命周期管理、数据流等

查询集群中索引的分片数、文档数或集群中包含哪些索引

GET _cat/indices?v

此命令一般用于查看及群众包含哪些索引。可查询信息包括但不仅限于

  • 索引的健康状态
  • 索引的打开关闭状态
  • 索引名称
  • 索引文档数量
  • 被删除的文档数量
  • 主分片数量
  • 副本分片数量

查询集群的快照存储信息

GET /_cat/snapshots?v

用于获取索引数据的 快照备份信息查询,也可用于指定快照名称进行查询:

GET /_cat/snapshots/<repository>

查看集群状态信息

GET _cluster/state

用于查询集群状态元数据信息,包括:

  • 集群中的节点集
  • 所有集群级设置
  • 有关集群中索引的信息,包括它们的映射和设置
  • 集群中所有分片的位置。

查看集群统计信息

GET _cluster/stats

        此命令可以查询从集群范围的角度检索统计信息。API 返回基本索引指标(分片数量、存储大小、内存使用情况)和有关构成集群的当前节点的信息(数量、角色、操作系统、jvm 版本、内存使用情况、cpu 和已安装的插件)。

  • 索引到分片的映射
  • 文档技术统计
  • fielddata
  • 缓存信息
  • 段文件信息
  • 索引字段类型统计信息
  • 分词器统计信息
  • 集群节点角色统计信息

查看集群中所有节点的节点属性

GET _cat/nodeattrs

        查看节点属性最常见的即查看节点的自定义属性,自定义属性用于节点标记,常被用于以下几种场景:

  • 冷热集群部署
  • 高可用集群架构部署
  • 分片分配策略部署

查询分片未分配的原因

以下为查看my_index编号为 0 的副本分片的未分配原因:

GET _cluster/allocation/explain
{
  "index": "my_index",
  "shard": 0,
  "primary": false
}

输出结果:

{
      "node_id" : "bgLGquyZSeOKbFBTJECjOQ",
      "node_name" : "node1",
      "transport_address" : "127.0.0.1:9302",
      "node_attributes" : {
        "rack" : "rack1",
        "xpack.installed" : "true",
        "transform.node" : "false"
      },
      "node_decision" : "no",
      "deciders" : [
        {
          "decider" : "filter",
          "decision" : "NO",
          "explanation" : """node does not match index setting [index.routing.allocation.require] filters [_name:"node3"]"""
        }
      ]
    }

 错误原因:node does not match index setting [index.routing.allocation.require] filters [_name:“node3”]

以下为所有分片未分配的原因的故障码以及描述,共12种:

* ALLOCATION_FAILED:    由于分片分配失败而未分配
* CLUSTER_RECOVERED:    由于完整群集恢复而未分配.
* DANGLING_INDEX_IMPORTED:  由于导入悬空索引而未分配.
* EXISTING_INDEX_RESTORED:  由于还原到闭合索引而未分配.
* INDEX_CREATED:      由于API创建索引而未分配.
* INDEX_REOPENED:       由于打开闭合索引而未分配.
* NEW_INDEX_RESTORED:     由于还原到新索引而未分配.
* NODE_LEFT:        由于承载它的节点离开集群而取消分配.
* REALLOCATED_REPLICA:    确定更好的副本位置并取消现有副本分配.
* REINITIALIZED:      当碎片从“开始”移回“初始化”时.
* REPLICA_ADDED:      由于显式添加了复制副本而未分配.
* REROUTE_CANCELLED:    由于显式取消重新路由命令而取消分配.

不同的问题原因需要不同的解决方案,针对以上问题原因,关闭分片过滤器即可: 

PUT my_index/_settings
{
  "index.routing.allocation.require._name": null
}

集群开启密码访问

1)假设有三台es服务器,在服务器1上生成 TLS 和身份验证,将会在 config 下生成 elastic-certificates.p12 文件,将此文件传到其他两个节点的 config 目录,注意文件权限:

-> bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

2)将 config目录下的elastic-certificates.p12文件上传至其他2台服务器的config目录下,重启ElasticSearch服务,3台服务器都需要执行;

3)设置密码,在服务器1上执行命令:

bin/elasticsearch-setup-passwords interactive

        随后按照提示依次输入elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user这6个用户的密码,完成后数据会自动同步至其他2个节点。

4)再次在浏览器中访问ES,http://ip地址:9200,就可以看到需要用户名密码访问了。

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

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

相关文章

javaScript 进阶之路 --- 《手写“回调地狱”》

前言&#xff1a; 可能初次看到这个标题&#xff0c;你会有些惊讶。我们不是要实现“手写 Promise ”吗&#xff1f;怎么变成了手写“回调地狱”了&#xff1f;“我老早看视频学习的时候就知道&#xff0c;我们要避免写成“回调地狱的格式&#xff0c;怎么到你这还要手写这玩意…

论文投稿指南——中国(中文EI)期刊推荐(第5期)

&#x1f680; EI是国际知名三大检索系统之一&#xff0c;在学术界的知名度和认可度仅次于SCI&#xff01;&#x1f384;&#x1f388; 【前言】 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。其中&#xf…

智能优化算法:蜣螂优化算法-附代码

智能优化算法&#xff1a;蜣螂优化算法 摘要&#xff1a;蜣螂优化算法( Dung beetle optimizer, DBO), 是由 Jiankai Xue 等于2022 年提出的一种群体智能优化算法。其灵感来源于蜣螂的生物行为过程&#xff0c;具有寻优能力强&#xff0c;收敛速度快的特点。 1.蜣螂优化算法 …

一款很火的智能化 Shell 工具多色彩优化命令显示结果可以替换系统默认的 Shell 工具,支持多平台免费开源使用

一款很火的智能化 Shell 工具多色彩优化命令显示结果可以替换系统默认的 Shell 工具&#xff0c;支持多平台免费开源使用。 Nushell&#xff0c;它是用Rust写的&#xff0c;安全性提高的同时&#xff0c;Bug率也降低了&#xff0c;NuShell 专注于实现以下目标&#xff1a; 1、…

【云原生】Prometheus AlertManager讲解与实战操作

文章目录一、概述二、AlertManager 架构三、AlertManager 部署1&#xff09;下载2&#xff09;配置3&#xff09;启动服务4&#xff09;与Prometheus集成四、在Prometheus中设置告警规则五、AlertManager 告警通道配置一、概述 Prometheus 包含一个报警模块&#xff0c;就是我们…

利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法

利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法。 内存作为计算机系统的组成部分,跟开发人员的日常开发活动有着密切的联系,我们平时遇到的Segment Fault、OutOfMemory、Memory Leak、GC等都与它有关。本文所说的内存,指的是计算机系统中的主存(Main Memo…

LIFT: Learned Invariant Feature Transform详细笔记

LIFT: Learned Invariant Feature Transform Paper: LIFT: Learned Invariant Feature Transform | SpringerLink Code: GitHub - cvlab-epfl/LIFT: Code release for the ECCV 2016 paper 文章目录Abstract思路来源LIFT文献来源方法&#xff1a;LIFTPipeline网络架构训练流程…

【网络】网络基础

文章目录依据覆盖范围的网络分类初识网络协议网络协议分层OSI分层模型TCP/IP分层模型网络协议栈中每一层的典型协议和典型设备应用层传输层网络层数据链路层物理层初识IP地址和MAC地址IP地址MAC地址网络是数据传输的解决方案。计算机数量由少变多&#xff0c;计算机由单台机器完…

火爆全球的网红OpenAI ChatGPT注册教程

地址&#xff1a;https://chat.openai.com/ 1. 登陆上去体验 写代码问题 Could you help me to write a C function to upload a file to ASW S3?回复 带代码和注释 Sure, here is an example of how you might write a C function to upload a file to Amazon S3: #incl…

Redis Cluster高可用集群部署

​欢迎光临我的博客查看最新文章: https://river106.cn Redis从3.0开始支持Redis Cluster集群部署&#xff0c;在3.0之前使用哨兵模式来实现Redis集群&#xff08;利用Sentinel来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则将其中一台slave切换为master…

C语言中的void

文章目录一.void概要二.void应用场景2.1void能定义变量吗&#xff1f;2.2void这个类型有大小吗&#xff1f;2.3void*能定义变量吗&#xff1f;2.4void*使用2.5void*能不能进行对应的指针运算&#xff1f;2.6void和函数返回值2.7函数void类型的参数一.void概要 void就是空的意思…

多种方法帮你解决tomcat项目部署,idea控制台乱码问题

解决在使用Tomcat过程中idea控制台出现的乱码问题 以下将介绍几种方法&#xff08;都是小编亲测实用的方法&#xff09;&#xff0c;尝试并寻找适合自己的方法即可 由于我已经处理过了乱码问题&#xff0c;我就重新配置一下 &#xff08;我有效解决的方案是把-Dfile.encoding…

SQL开窗函数之前后函数(LEAD、LAG)

开窗函数 当我们需要进行一些比较复杂的子查询时&#xff0c;聚合函数就会非常的麻烦&#xff0c;因此可以使用开窗函数进行分组再运用函数查询。窗口函数既可以显示聚集前的数据&#xff0c;也可以显示聚集后的数据&#xff0c;可以在同一行中返回基础行的列值和聚合后的结果…

cubeIDE开发, 全面解析cubeMX图形配置工具

一、cubeIDE 集成cubeMX STM32CubeMX是st公司早期产品&#xff0c;现已经成为STM32Cube开发套件的一部分&#xff0c;直接集成到cubeIDE 开发平台省&#xff0c;是一种芯片引脚图形配置工具&#xff0c;可以非常轻松地配置STM32微控制器和微处理器&#xff0c;以及为Arm Cortex…

java+MySQL基于ssm的公文流转关管理系统

在企业的日常管理过程中,公文管理是日常管理中必不可少的组成部分,其管理水平的高低体现了一个企业管理水平的整体状况。一直以来企业使用传统人工的方式管理公文数据,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,为操作人员带来不少…

python_selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西&#xff0c;现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架&#xff0c;能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

cdp4j爬虫自动化学习

cdp4j爬虫自动化学习cdp4j介绍依赖通过识别本地文件进行调试cdp4j介绍 cdp4j是一个Java库&#xff0c;它提供了高级API来通过DevTools协议控制Chrome或Chromium。它可以用于自动使用网页和测试网页。cdp4j默认情况下可以完全运行&#xff0c;但可以配置为运行无头Chrome或Chro…

Spring Cloud Eureka 服务注册中心怎么配置

Eureka&#xff0c;这里是 Spring Cloud Eureka 的简称&#xff0c;是 Spring Cloud Netflix 组件之一。Spring Cloud Netflix 中核心的组件包括了服务治理&#xff08;Eureka&#xff09;&#xff0c;服务容断&#xff08;Hystrix&#xff09;&#xff0c;路由&#xff08;Zuu…

hypermesh和lsdyna联合仿真计算某汽车座椅进行的头冲吸能实验

导读&#xff1a;本案例运用hypermesh和lsdyna联合仿真&#xff0c;主要是针对某座椅进行的头冲吸能实验的仿真计算。这个工况考察座椅背部的塑料件的破坏情况&#xff0c;以及头部模块的加速度情况&#xff0c;达到保护人头部的效果。 本案例用户可以学习到&#xff1a; 1…

大学生程序设计创新实践基地2022年冬季校赛(NPU ACM Winter Contest)

大学生程序设计创新实践基地2022年冬季校赛&#xff08;NPU ACM Winter Contest&#xff09; 总述 总体考察对于板子的熟练变换&#xff0c;以及考察离谱地使用python和对getchar()以及EOF的基础掌握程度。 B&#xff0c;D&#xff0c;E是防AK题目。 题解 A死锁 ​ input…