Elastic Stack-ES集群常用的API

2024-09-06 01:36
文章标签 es 集群 stack api 常用 elastic

本文主要是介绍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-releaseyum -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"}}}

致谢

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

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

这篇关于Elastic Stack-ES集群常用的API的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140630

相关文章

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过