ElasticSearch的集群管理命令

ElasticSearch版本

{
  "name" : "data-slave1",
  "cluster_name" : "data-es",
  "cluster_uuid" : "xxxxxxxxxx-eMwxw",
  "version" : {
    "number" : "7.2.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "fkg6eb20",
    "build_date" : "2021-07-24T17:58:29.979462Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

集群管理命令

Cat API

cat aliases

cat aliases 命令用于显示索引的别名,也包括过滤器和路由信息。

GET /_cat/aliases?v

在这里插入图片描述

  • alias 别名
  • index 索引别名指向
  • filter 过滤规则
  • routing.index 索引路由
  • routing.search 搜索路由

cat allocation

cat allocation命令可以查看每个节点分配的分配数量以及它们所使用的硬盘空间大小

GET /_cat/allocation?v

在这里插入图片描述

  • shards 分片数
  • disk.indices 索引index占用的空间大小
  • disk.used 已用磁盘空间
  • disk.avail 可用磁盘空间
  • disk.total 磁盘空间总量
  • disk.percent 磁盘已使用百分比
  • host 节点主机地址
  • ip 节点ip
  • node 节点名称

cat count

cat count 命令可以快速查询整个集群或者单个索引的文档数量。

GET /_cat/count?v

在这里插入图片描述

  • epoch 自标准时间(1970-01-01 00:00:00)以来的秒数
  • timestamp 时间,存在8小时时间差问题
  • count 文档总数
GET /_cat/count/[索引名称]?v

cat fielddata

cat fielddata命令用于查看当前集群中每个数据节点上被fielddata所使用的堆内存大小。

GET /_cat/fielddata?v

在这里插入图片描述
在Elasticsearch中,Field Data是用于在聚合(aggregation)和排序(sorting)操作中对文档字段进行分析和处理的一种数据结构。它是一个缓存在内存中的数据结构,用于快速访问和处理字段值。

Field Data可以被认为是对文档字段进行预处理的一种形式,它将字段值从原始的文本形式转换成可供聚合和排序操作使用的数据类型。例如,将一个字符串形式的日期字段转换成一个时间戳,或将一个字符串形式的数字字段转换成一个数字。

使用Field Data可以有效地提高聚合和排序操作的性能,因为它可以避免在每次操作中都对原始字段值进行解析和转换。此外,Field Data还可以通过使用缓存来进一步提高性能,以便更快地访问和处理字段值。

然而,Field Data也有一些限制和注意事项。首先,Field Data需要占用一定的内存空间,因此在处理大量数据时可能会导致内存消耗过高。其次,Field Data只能在不可变的字段上使用,因为一旦字段值发生变化,就需要重新生成Field Data。

为了使用Field Data,可以在字段映射中将字段的fielddata属性设置为true。例如,以下是一个将timestamp字段设置为可使用Field Data的映射示例:

{
  "mappings": {
    "properties": {
      "timestamp": {
        "type": "date",
        "fielddata": true
      }
    }
  }
}

需要注意的是,在大多数情况下,Elasticsearch会自动选择合适的字段数据存储方式。因此,只有在确实需要对字段进行聚合和排序操作时,才需要显式地启用Field Data。

cat health

cat health 命令用于显示集群的健康信息。

GET /_cat/health?v

在这里插入图片描述

  • epoch 自标准时间(1970-01-01 00:00:00)以来的秒数
  • timestamp 时间
  • cluster 集群名称
  • status 集群状态
  • node.total 节点总数
  • node.data 数据节点总数
  • shards 分片总数
  • pri 主分片总数
  • repo 复制节点的数量
  • init 初始化节点的数量
  • unassign 未分配分片的数量
  • pending_tasks 待定任务数
  • max_task_wait_time 等待最长任务的等待时间
  • active_shards_percent 活动分片百分比

cat indices

cat indices命令可以查看索引信息,包括索引健康状态、索引开关状态、分片数、副本数、文档数量、标记为删除的文档数量、占用的存储空间等信息

GET /_cat/indices?v

在这里插入图片描述

  • health 索引的健康状态
  • status 索引的开启状态
  • index 索引名字
  • uuid 索引的uuid
  • pri 索引的主分片数量
  • rep 索引的复制分片数量
  • docs.count 索引下的文档总数
  • docs.deleted 索引下删除状态的文档数
  • store.size 主分片+复制分片的大小
  • pri.store.size 主分片的大小

cat master

cat master命令可以显示master节点的节点ID、绑定的IP和节点名

GET /_cat/master?v

在这里插入图片描述

cat nodeattrs

cat nodeattrs命令可以显示指定节点的属性信息。

GET /_cat/nodeattrs?v

在这里插入图片描述

cat nodes

cat nodes命令可以查看集群拓扑结构

GET /_cat/nodes?v

在这里插入图片描述

  • ip es节点ip
  • heap.percent 堆内存占比
  • ram.percent 内存使用占比
  • cpu cpu使用率
  • load_1m 1分钟内平均load情况,单位ms
  • load_5m 5分钟内平均load情况,单位ms
  • load_15m 15分钟内平均load情况,单位ms
  • node.role 节点权限
  • master 是否master节点,*为master节点
  • name 节点名称

cat pending_tasks

cat pending_tasks命令用于查看正在执行的任务列表。

GET /_cat/pending_tasks?v

在这里插入图片描述

  • insertOrder 任务插入顺序
  • timeInQueue 任务排队了多长时间
  • priority 任务优先级
  • source 任务源

cat plugins

cat plugins命令用于查看每一个节点所运行插件的信息

GET /_cat/plugins?v

在这里插入图片描述

cat recovery

cat recovery命令是一个索引分片恢复的视图,包括恢复中的先前已完成的。

GET /_cat/recovery?v

在这里插入图片描述

  • index 索引名称
  • shard 分片名称
  • time 恢复时间
  • type 恢复类型
  • stage 恢复阶段
  • source_host 源主机
  • source_node 源节点名称
  • target_host 目标主机
  • target_node 目标节点名称
  • repository 仓库
  • snapshot 快照
  • files 要恢复的文件数
  • files_recovered 已恢复的文件数
  • files_percent 恢复文件百分比
  • files_total 文件总数
  • bytes 要恢复的字节数
  • bytes_recovered 已恢复的字节数
  • bytes_percent 恢复字节百分比
  • bytes_total 字节总数
  • translog_ops 要恢复的translog操作数
  • translog_ops_recovered 已恢复的translog操作数
  • translog_ops_percent 恢复的translog操作的百分比

cat repositories

cat repositories 命令用于展示集群中注册的快照库

GET /_cat/repositories?v

在这里插入图片描述

cat thread_pool

cat thread_pool命令用于展示集群中每一个节点线程池的统计信息。默认情况下返回所有线程池的active、queue和rejected的统计信息

GET /_cat/thread_pool?v

在这里插入图片描述
由结果发现有很多种类的线程池,询问了一下AI

elasticsearch的线程池很多种类吗?

是的,Elasticsearch的线程池名字有很多个。每个线程池都有自己的名称,用于标识和区分不同的线程池。以下是一些常见的线程池名称:

  • index:用于执行索引操作的线程池。
  • search:用于执行搜索操作的线程池。
  • bulk:用于执行批量操作的线程池。
  • get:用于执行获取操作的线程池。
  • suggest:用于执行自动补全操作的线程池。
  • snapshot:用于执行快照和恢复操作的线程池。

此外,Elasticsearch还支持自定义线程池,可以根据需要创建自己的线程池并提供相应的名称。可以通过Elasticsearch的管理接口查看和监控线程池的状态和性能指标。

Elasticsearch中的线程池是用于处理各种任务的线程池。线程池是一种管理和复用线程的机制,可以提高系统的效率和性能。

Elasticsearch中有几种不同类型的线程池,每种类型都用于处理特定类型的任务。以下是一些常见的线程池类型:

线程池类型:用于处理索引操作。这种线程池用于执行索引操作,如文档的索引、更新和删除。它的线程数通常会根据可用的处理器核心数自动调整。

  • 搜索线程池:用于处理搜索请求。这种线程池用于执行搜索操作,包括查询、聚合和排序。它的线程数也会根据可用的处理器核心数自动调整。
  • 获取线程池:用于处理获取请求。这种线程池用于执行获取操作,如根据ID获取文档或检索文档的字段。类似于搜索线程池,其线程数也会根据可用的处理器核心数自动调整。
  • 刷新线程池:用于处理刷新请求。这种线程池用于处理刷新操作,该操作用于将内存中的索引数据写入磁盘。

除了以上列出的线程池类型,Elasticsearch还有其他一些专用的线程池,用于处理一些特殊的任务,如批量操作线程池、监听器线程池和管理任务线程池等。

总的来说,线程池在Elasticsearch中是非常重要的,它可以高效地管理系统的资源,并提供并发处理能力,从而提高系统的性能和吞吐量。

cat shards

cat shards 命令用于查看节点包含的分片信息,包括一个分片是主分片还是一个副本分片、文档的数量、硬盘上占用的字节数、节点所在的位置等信息。

GET /_cat/shards/.monitoring-es-7-2024.01.23?v

在这里插入图片描述

  • index 索引名称
  • shard 分片序号
  • prirep 分片类型 p 表示是主分片 r 表示是复制分片
  • state 分片状态
  • docs 该分片存放的文档数量
  • store 该分片占用的存储空间大小
  • ip 该分片所在的服务器ip
  • node 该分片所在的节点名称

cat segments

cat segments 命令用于查看索引的段信息

GET /_cat/segments/.monitoring-es-7-2024.01.23?v

在这里插入图片描述

  • index 索引名称
  • shard 分片名称
  • prirep 主分片还是副本分片
  • ip 所在节点ip
  • segment segments段名
  • generation 分段生成
  • docs.count 段中的文档数
  • docs.deleted 段中删除的文档数
  • size 段大小,以字节为单位
  • size.memory 段内存大小,以字节为单位
  • committed 段是否已提交
  • searchable 段是否可搜索
  • version 版本
  • compound compound模式

cat templates

cat templates命令用于查看集群中的模板

GET /_cat/templates?v

在这里插入图片描述

  • name 模板名称
  • index_patterns 模板匹配规则
  • order 模板优先级
  • version 模板版本

Cluster API

Cluster Health

利用ElasticSearch的集群健康API可以查看当前集群的健康信息

GET _cluster/health

在这里插入图片描述

  • cluster_name 集群名称
  • status 集群的健康状态,green 所有主分片和从分片都可用,yellow 所有主分片可用,但存在不可用的从分片,red 存在不可用的主分片
  • timed_out 是否超时
  • number_of_nodes 节点数,包括master节点和data节点
  • number_of_data_nodes data节点数
  • active_primary_shards 活动的主分片
  • active_shards 所有活动的分片数,包括主分片和副本
  • relocating_shards 正在发生迁移的分片
  • initializing_shards 正在初始化的分片
  • unassigned_shards 没有被分配的分片
  • delayed_unassigned_shards 延迟未被分配的分片
  • number_of_pending_tasks master节点任务队列中的任务数
  • number_of_in_flight_fetch 正在进行迁移的分片数量
  • task_max_waiting_in_queue_millis 队列中任务最大等待时间
  • active_shards_percent_as_number 活动分片的百分比

获取一个或多个索引的健康信息

GET /_cluster/health/.monitoring-es-7-2024.01.23

Cluster State

Cluster State(集群状态)API 可以对整个集群的信息进行一个全面的了解,包括集群信息、集群中每个节点的信息、元数据、路由表等。

GET /_cluster/state

在这里插入图片描述

  • version 返回集群状态版本信息
  • master_node 只返回master节点的状态信息
  • nodes 返回集群中的节点的配置信息,主要包括节点名称、IP、是否是master节点
  • routing_table 返回每个节点的路由信息
  • metadata 返回元数据信息,包括每个索引的mapping、setting等信息
  • blocks 返回集群中的块数据信息

Cluster Stats

Cluster Stats (集群统计)API用于从集群中获取各种统计数据。该API的返回信息主要有两部分,一部分是索引层面,包括分片数、存储大小、内存使用情况等指标,另一部分是节点层面,包括节点数量、节点角色、操作系统、jvm版本、内存、CPU、安装的插件等指标。

GET /_cluster/stats

在这里插入图片描述

  • _nodes 节点信息
  • cluster_name 集群名称
  • cluster_uuid 集群ID
  • timestamp 时间戳
  • status 集群状态
  • indices
    • count 索引数
    • shards 分片信息:总数、主分片数、副本分片数、以及最大、最小、均值
    • docs 文档信息:文档数、删除的文档数
    • store 存储大小
    • fielddata 字段缓存信息
    • query_cache 查询缓存信息
    • completion 自动补全信息
    • segments 段信息
  • nodes
    • count 节点总数、以及各角色节点数
    • versions 版本
    • os 操作系统信息:处理器数量、系统名称、内存
    • process 进程信息
    • jvm java虚拟机信息:版本、内存、线程
    • fs 文件系统信息
    • plugins 插件信息
    • network_types 网络信息
    • discovery_types 自动发现信息
    • packaging_types 发布包信息

Pending Cluster Tasks

Pending Cluster Tasks API 用于返回一个正在添加到更新集群状态的任务列表。集群中的变化通常是很快的,通常这个操作会返回一个空的列表

GET /_cluster/pending_tasks

在这里插入图片描述

Cluster Reroute

reroute命令可以明确地执行集群重新路由分配命令。例如,把一个分片从一个节点移动到另一个节点,把未分配的分片移动到一个指定的节点

POST /_cluster/reroute
{
	"commands":[
		{
		 "move":{
		 	"index":"test",
		 	"shard":0,
		 	"from_node":"node1",
		 	"to_node":"node2"
		 }
		},
		{
		 "allocate_replica":{
          "index":"test",
          "shard":1,
          "node":"node3"
         }
	    }
	]
}

Cluster Update Settings

Update Settings命令可以更新集群中的配置,如果是永久配置,就需要重启集群;如果是瞬时配置,就不需要重启集群。例如,更新最小master节点数

PUT /_cluster/settings
{
	"persistent":{
		"discovery.zen.minimum_master_nodes": 1
	}
}

Nodes Stats

Cluster Nodes Stats(集群节点统计信息) API可以获取集群中一个或者多个节点的统计信息。

GET /_nodes/stats

在这里插入图片描述
获取nodeId1 和 nodeId2节点的统计信息

GET /_nodes/nodeId1,nodeId2/stats

Nodes Info

Cluster Nodes Info API 可以获取集群中一个或多个节点的信息,包括设置、操作系统、虚拟机、线程池等信息。

GET /_nodes

在这里插入图片描述

GET /_nodes/os,jvm

在这里插入图片描述

Task Management API

Task Management API 可用于获取ElasticSearch集群中一个或多个节点正在执行中的任务信息。

GET /_tasks

在这里插入图片描述

Cluster Allocation Explain API

Cluster Allocation Explain API 用于解释分片没有被分配的原因。

GET /_cluster/allocation/explain
{
  "index":".monitoring-es-7-2024.01.23",
  "shard":0,
  "primary":true
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JaveWeb教程】(32)SpringBootWeb案例之《智能学习辅助系统》的详细实现步骤与代码示例(5)文件上传的实现

目录 SpringBootWeb案例052. 文件上传2.1 简介2.2 本地存储 SpringBootWeb案例05 前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能,还有两个需要实现新增和修改员工。 本节的主要内容: 文件上传 2. 文件上传 在我们完成…

【开源】基于JAVA语言的实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…

docker 存储管理

文章目录 docker 存储管理容器存储方案docker 容器存储解决方案 docker 存储驱动基本概述存储驱动的选择原则主流的 docker 存储驱动docker 版本支持的存储驱动 overlay2 存储驱动OverlayFSoverlay2 存储驱动要求配置 docker 使用 overlay2 驱动 overlay2 存储驱动的工作机制Ov…

C++核心编程:C++ 中的引用 笔记

2.引用 2.1 引用的基本使用 - 作用&#xff1a;给变量起别名 - 语法&#xff1a;数据类型 &别名 原名 #include<iostream> using namespace std; int main() {// 引用基本语法// 数据类型 &别名 原名int a 10;// 创建引用int &ref_a a;cout<<&qu…

搭建Redis集群

一 应用场景 为什么需要redis集群&#xff1f; 当主备复制场景&#xff0c;无法满足主机的单点故障时&#xff0c;需要引入集群配置。 一般数据库要处理的读请求远大于写请求 &#xff0c;针对这种情况&#xff0c;我们优化数据库可以采用读写分离的策略。我们可以部 署一台…

Ubuntu 系统如何修改时间

Ubuntu 系统如何修改时间 简介&#xff1a;在Ubuntu上&#xff0c;你可以使用以下三种方法来修改时间&#xff1a;date命令&#xff0c;timedatectl命令和hw 原文&#xff1a;Ubuntu 系统如何修改时间 (baidu.com)https://cloud.baidu.com/article/393621 三种方法修改Ubunt…

Linux——文本编辑器Vim

Linux中的所有内容以文件形式管理&#xff0c;在命令行下更改文件内容&#xff0c;常常会用到文本编辑器。我们首选的文本编辑器是Vim&#xff0c;它是一个基于文本界面的编辑工具&#xff0c;使用简单且功能强大&#xff0c;更重要的是&#xff0c;Vim是所有Linux发行版本的默…

husky结合commitlint审查commit信息

commintlint是一个npm包用来规范化我们的commit信息&#xff0c;当然这个行为的操作时期是在git的commit-msg生命周期期间&#xff0c;这一点当然是有husky来控制&#xff0c;需要注意的是commit-msg作为一个git生命周期会被git commit和git merge行为唤醒&#xff0c;并且可以…

03-Redis缓存高可用集群

文章目录 1、Redis集群方案比较2、Redis高可用集群搭建redis集群搭建Java操作redis集群 4、Redis集群原理分析槽位定位算法跳转重定位Redis集群节点间的通信机制gossip通信的10000端口网络抖动 Redis集群选举原理分析集群脑裂数据丢失问题集群是否完整才能对外提供服务Redis集群…

第二百八十八回

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容&#xff0c;本章回中将介绍如何播放视频.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

用Visual Studio Code创建JavaScript运行环境【2024版】

用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript&#xff0c;由 Netscape&#xff08;Netscape Communications Corporation&#xff0c;网景通信公司&#xff09;公司的布兰登艾奇&#xff08;Brendan Eich&#xff09;在 …

Java基础—面向对象OOP—17类与对象(创建、构造器、创建对象时简单内存分析)

把握重点&#xff0c;重点已标注&#xff0c;这篇笔记分了4个章节&#xff0c;重点看二、三、四 一、整体思维--重点把握面向对象的本质和特点 1、面向对象编程OOP&#xff1a; Object-Oriented programming 2、面向过程与面向对象 面向过程&#xff1a;线性思维 面向对象…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕

上一篇&#xff1a;[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

有关链表的题目

目录 1.环形链表的约瑟夫问题 2.链表的中间节点 3.合并两个有序链表 4.反转链表 5.移除链表元素 1.环形链表的约瑟夫问题 环形链表的约瑟夫问题_牛客题霸_牛客网 (nowcoder.com) 思路&#xff1a;题目给出结构是环形链表&#xff0c;且题目已经定义好了环形链表的结构。 1…

MATLAB - 控制小车上的倒立摆

系列文章目录 前言 一、小车 - 摆杆 小车 - 摆杆模型如图 1 所示&#xff0c;使用 Simscape™ Multibody™ 在 Simulink 中建模。 图 1&#xff1a;小车上的倒立摆 图 2&#xff1a;Simscape 多体模型 该系统通过对小车施加可变力 进行控制。控制器需要在将小车移动到新位置或…

145基于matlab的求解悬臂梁前3阶固有频率和振型

基于matlab的求解悬臂梁前3阶固有频率和振型,采用的方法分别是&#xff08;假设模态法&#xff0c;解析法&#xff0c;瑞利里兹法&#xff09;。程序已调通&#xff0c;可直接运行。 145 matlab 悬臂梁 固有频率 振型 (xiaohongshu.com)

正则匹配 | 正则实际应用探索分享

这并不是一篇教正则基础的文章&#xff0c;其正则式不能对您进行使用后的结果负责&#xff0c;请以研究的眼光看待本篇文章。 技术就是懒人为了更好的懒才会想办法搞的东西&#xff0c;我最近因为某些原因需要频繁删除注释 我就想到通过替换的正则功能快速删除文件中的简单注…

微信小程序(十八)组件通信(父传子)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.组件属性变量的定义 2.组件属性变量的默认状态 3.组件属性变量的传递方法 解释一下为什么是父传子&#xff0c;因为组件是页面的一部分&#xff0c;数据是从页面传递到组件的&#xff0c;所以是父传子&#xf…

DevExpress WinForms导航控件 - 交付更时尚、体验更好的业务应用(二)

DevExpress WinForms的Side Navigation&#xff08;侧边导航&#xff09;和Nav Panel&#xff08;导航面板&#xff09;可以帮助客户交付完全可模仿UI体验的业务解决方案&#xff0c;这些体验在当今流行的应用程序中都可找到。在上文中&#xff08;点击这里回顾>>&#x…

数据结构排序算详解(动态图+代码描述)

目录 1、直接插入排序&#xff08;升序&#xff09; 2、希尔排序&#xff08;升序&#xff09; 3、选择排序&#xff08;升序&#xff09; 方式一&#xff08;一个指针&#xff09; 方式二&#xff08;两个指针&#xff09; 4、堆排序&#xff08;升序&#xff09; 5、冒…