ES运维常用指令,常用的故障诊断指令,es集群健康状况、集群节点分配信息、分片分配信息、分片未分配问题诊断、集群开启密码访问
创始人
2024-04-21 12:50:51
0

目录

查询集群的健康状况

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

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

查询集群的分片分配信息

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

查询集群的快照存储信息

查看集群状态信息

查看集群统计信息

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

查询分片未分配的原因

集群开启密码访问


查询集群的健康状况

  • 绿色:所有分片都可用
  • 黄色:至少有一个副本不可用,但是所有主分片都可用
  • 红色:至少有一个主分片不可用,数据不完整 
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/

查看集群状态信息

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,就可以看到需要用户名密码访问了。

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...