Elastic Stack-ES集群常用的API

 前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

学习B站博主教程笔记: 

最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—ElasticSearch+Logstash+Kibana精讲_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1VMW3e6Ezk/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00

1、ES集群健康状态API

 # 安装jq工具
 yum -y install epel-release
 yum -y install jq
 ​
 # 测试取数据
 [root@k8s-master ~]# curl http://192.168.1.10:9200/_cluster/health 2>/dev/null | jq
 {
   "cluster_name": "cluster-elk",
   "status": "green",
   "timed_out": false,
   "number_of_nodes": 3,
   "number_of_data_nodes": 3,
   "active_primary_shards": 25,
   "active_shards": 42,
   "relocating_shards": 0,
   "initializing_shards": 0,
   "unassigned_shards": 0,
   "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": 100
 }
 ​
 [root@k8s-master ~]# curl http://192.168.1.10:9200/_cluster/health 2>/dev/null | jq .status
 "green"
 GET http://192.168.1.10:9200/_cluster/health
 相关参数说明:
 cluster_name:集群的名称
 status:集群的健康状态,基于其主分片和副本分片的状态
     ES集群有以下三种状态:
         green:所有分片都已分配
         yellow:所有主分片都已分配,但一个或多个副本未分配;如果集群中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用
         red:一个或多个主分片未分配,因此某些数据不可用,可能会在集群启动期间短暂发生,因为分片了主分片
 timed_out: 是否有超时;默认30秒
 number_of_nodes: 集群内的节点数
 active_primary_shards: 可用主分片数量
 active_shards: 可用主分片与副本分片的总数
 relocating_shards: 正在重定位的分片数
 initializing_shards: 正在初始化的分片数
 unassigned_shards: 未分配的分片数
 delayed_unassigned_shards: 分配因超时设置而延迟的分片数
 number_of_pending_tasks: 尚未执行的集群级别更改的数量
 number_of_in_flight_fetch: 未完成的提取次数
 task_max_waiting_in_queue_millis: 自最早启动的任务等待执行以来的时间
 active_shards_percent_as_number: 集群中活动分片

2、ES集群的设置及优先级

如果使用多种方法配置相同的设置,Elasticsearch会按以下优先顺序应用这些设置:

  • Transient setting(临时设置,集群重启后失效)
  • Persistent setting(持久化配置,集群重启后依旧生效)
  • elasticsearch.yml setting(配置文件)
  • Default setting value(默认设置值)
 # 查询集群的所有配置信息
 http://192.168.1.10:9200/_cluster/settings?include_defaults=true&flat_settings=true
 ​
 # 修改集群的配置信息
 PUT http://192.168.1.10:9200/_cluster/settings
 {
     "transient":{
         "cluster.routing.allocation.enable":"none"
     }
 }
 ​
 # 相关参数说明
 "cluster.routing.allocation.enable":
     "all": 允许所有分片类型进行分配
     "primaries": 仅允许分配主分片
     "new_primaries": 仅允许新创建索引分配主分片
     "none":不允许分配任何类型的分片

3、集群状态API

集群状态是一种内部数据结构,它跟踪每个节点所需的各种信息,包括:

  • 集群中其他节点的身份和属性
  • 集群范围的设置
  • 索引元数据,包括每个索引的映射的设置
  • 集群中每个分片副本的位置和状态
 # 查看集群的状态信息
 GET http://192.168.1.10:9200/_cluster/state
 ​
 # 只查看节点信息
 GET http://192.168.1.10:9200/_clusrer/state/nodes
 ​
 # 查看nodes,version,routing_table这些信息,并且查看以"cluester*"开头的所有索引
 GET http://192.168.1.10:9200/_cluster/state/nodes,version,routing_table/cluster*

4、集群统计API

Cluster State API允许从集群范围的角度检索统计信息。返回基本的索引指标(分片数量,存储大小,内存使用情况)和有关构成集群的当前节点的信息(数量,角色,操作系统,JVM版本,内存使用情况,cpu和已安装的插件)

 # 查看统计信息
 GET http://192.168.1.10:9200/_cluster/stats

5、查看集群的分片分配情况

集群分配解释API的目的是为集群中的分片分配提供解释

对于未分配的分片,解释API提供了有关未分配分片的原因和解释;对于已分配的分片,解释API解释了为什么分片保留在其他节点上并且没有移动或重新平衡到另一个节点。

 # 分析teacher索引的0号分片未分配的原因
 GET http://192.168.1.10:9200/_cluster/allocation/explain
 {
     "index": "teacher",
     "shard": 0
     "primary": true
 }

6、集群分片重路由API

reroute命令允许手动更改集群中各个分片的分配

 # 将"teacher"索引的0号分片从master节点移动到node1节点
 POST http://192.168.1.10:9200/_cluster/reroute
 {
     "commands":{
         "move":{
             "index": "teacher",
             "shard": 0,
             "from_node": "master",
             "to_node": "node1"
         }
     }
 }
 ​
 # 取消副本分片的分配,其副本会重新初始化分配
 POST http://192.168.1.10:9200/_cluster/reroute
 {
     "commands":{
         "move":{
             "index": "teacher",
             "shard": 0,
             "node": "node1"
         }
     }
 }

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

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

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

相关文章

Origin2024中如何添加误差带?直观查看数据的变化范围

误差线是通常用于统计或科学绘图中,本期给大家分享Origin中绘制带填充区的误差带图,可以直观显示数据的变化范围,填充区域也可以增加视觉效果和美观性 操作步骤: 1、打开Origin2024软件,然后在Book1中输入如下示例数…

街机 SNK NeoGeo 中英文名字与驱动对照表

Part.I 简介 本文列举了街机 NeoGeo 中游戏的中英文名字与其驱动的对照,以帮助诸位更快地找到自己想玩的游戏。 注意:汉化版的街机模拟器 Kawaks 中游戏的中文名字是根据英文直译的,并不是习惯性的中文叫法。比如『三国志』英文名为『Warrio…

深度学习5从0到1理解RNN(包括LTSM,GRU等):内容丰富(上)

循环神经网络(Recurrent Neural Network, RNN) 是一种经典的深度学习网络结构,具有广泛的应用。其中,槽填充(Slot Filling)(即识别自然语言中的特定信息) 是其中一个应用场景&#x…

OpenSCAD 基础教程

OpenSCAD 基础教程 文章目录 OpenSCAD 基础教程1. 引言2. 安装与设置3. OpenSCAD 基本概念与语法3.1 基础形状3.2 变换操作3.4 布尔运算3.4 控制流3.5 特殊功能 4. 实践案例:创建一个简单的机械部件5. 高级技巧6. 导出与3D打印7. 常见问题与解决方案8. 结语 1. 引言…

虚拟机的安装-详细教程

目录 新建虚拟机 选择典型 安装操作系统 选择CentOS7 64位版本 虚拟机存放位置 磁盘容量 完成 编辑虚拟机 修改内存大小 设置处理器个数 选择镜像 开启虚拟机 进入界面,回车 选择语言 安装类型 磁盘分区 开启网络 设置密码和用户 重启 接受许可…

python进阶篇-day07-进程与线程

day06进程与线程 一. 进程 每个软件都可以看作是一个进程(数据隔离) 软件内的多个任务可以看作是多个线程(数据共享) 单核CPU: 宏观并行, 微观并发 真正的并行必须有多核CPU 多任务介绍 概述 多任务指的是, 多个任务"同时"执行 目的 节约资源, 充分利用CPU资源, …

unreal engine 5.4.4 runtime 使用PCG

Unreal PCG Runtime runtime环境下控制PCG PCG Graph 这里简单的在landscape上Spawn Static Mesh 和 Spawn Actor GraphSetting 自定义的参数,方便修改 场景 这里新建了一个蓝图Actor PCG_Ctrl, 用来runtime的时候控制PCG生成 Construct 获取场景中的PCGVolum…

开源还是封闭?人工智能的两难选择

这篇文章于 2024 年 7 月 29 日首次出现在 The New Stack 上。人工智能正处于软件行业的完美风暴中,现在马克扎克伯格 (Mark Zuckerberg) 正在呼吁开源 AI。 关于如何控制 AI 的三个强大观点正在发生碰撞: 1 . 所有 AI 都应该是开…

易保全出席人工智能应用场景高峰论坛,发布AI-数据资产管理平台2.0应用成果

2024年9月5日,由上海合作组织国家多功能经贸平台、重庆市科技发展基金会指导,重庆市渝中区商务委员会等相关部门主办、华智未来(重庆)科技有限公司承办,重庆民营经济国际合作商会协办的“智驭未来创想无界人工智能应用场景高峰论坛暨成果发布…

区块链-P2P(八)

前言 P2P网络(Peer-to-Peer Network)是一种点对点的网络结构,它没有中心化的服务器或者管理者,所有节点都是平等的。在P2P网络中,每个节点都可以既是客户端也是服务端,这种网络结构的优点是去中心化、可扩展…

linux(ubuntu)安装QT-ros插件

Linux下的qt安装ros插件 查看qt版本和对应的ros插件版本查看qt版本查看 qt creator 版本 qt creator进行更新升级下载版本对应的ros_qtc_plugin 插件插件安装安装成功 查看qt版本和对应的ros插件版本 想要qt与ros联合开发,我门需要在qt creator中添加ros的插件&…

Docker Hub 仓库国内无法拉取镜像,如何应对?

Docker Hub 仓库国内无法拉取镜像,如何应对? 描述:早上起来发现交流群中有童鞋在说无法在Docker Hub中正常拉取镜像,然后在公司的服务器上拉取最新的nginx:latest镜像发现确实无法拉取。 注册一个阿里云账户 由于前面作者发布过两篇同步国外…

Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

技术背景 好多开发者拿到大牛直播SDK的Android平台RTSP、RTMP播放模块,基本上不看说明,测试后,就直接集成到自己系统了。不得不说,我们的模块虽然接口很多,功能支持全面,但是上层的demo设计逻辑确实简单&a…

安装Android Studio及第一个Android工程可能遇到的问题,gradle下载过慢、sync失败?

Android Studio版本众多,电脑操作系统、电脑型号、电脑硬件也是多种多样,幸运的半个小时内可以完成安装,碰到不兼容的电脑,一天甚至更长时间都无法安装成功。 Android安装及第一个Android工程分为4个步骤,为什么放到一…

echarts进度

echarts图表集 const data[{ value: 10.09,name:制梁进度, color: #86C58C,state: }, { value: 66.00,name:架梁进, color: #C6A381 ,state:正常}, { value: 33.07,name:下部进度, color: #669BDA,state:正常 }, ];// const textStyle { "color": "#CED6C8&…

【whisper】使用whisper实现语音转文字

whisper需要ffmpeg支持 官网下载ffmpeg https://www.gyan.dev/ffmpeg/builds/下载完毕后解压放到合适的位置 添加环境变量 在cmd中输入以下 ffmpeg -version出现下面结果代表成功 安装whisper pip install openai-whisper在vscode中运行 测试代码 import whisperif __n…

SAP 生产订单工序删除状态撤回简介

SAP 生产订单工序删除状态撤回简介 一、业务场景二、处理办法三、系统控制一、业务场景 生产订单正常没有按工序分配物料,系统会自动会把物料分配到第一道工序中 生产订单中的0010工序中对应的组件的栏位被标识,表示有物料分配到了0010的工序中,正常情况下0010的工序被分配…

软件测试基础面试题11问(带答案)

1、编写测试用例有哪些? 答:等价类、边界值、错误推测法、场景法,我个人常用的方法就是这些 2、Beta测试与Alpha测试的区别? 答:两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试…

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.…

C#文件的输入和输出

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个流.从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流和输出流.输入流用于从文件读取数据,输出流用于向文件写入数据. C#I/O类 System.IO命名空间有各种不同的类…