Elasticsearch终端命令行用法大全

API作用使用场景
curl localhost:9200/_cluster/health?pretty查看ES健康状态
curl localhost:9200/_cluster/settings?pretty查看ES集群的设置其中persistent为永久设置,重启仍然有效;trainsient为临时设置,重启失效
curl localhost:9200/_cat/nodes?v查看ES在线的节点存在节点缺失的情况可用该命令查看缺失节点为哪些
curl localhost:9200/_cat/master查看ES的主节点
curl localhost:9200/_cat/indicescurl localhost:9200/_cat/indices/{index}查看所有索引,查看具体某个索引
curl localhost:9200/_cat/shardscurl localhost:9200/_cat/shards/{index}查看所有分片,查看具体某个索引的分片
curl localhost:9200/_cat/recoverycurl localhost:9200/_cat/recovery/{index}查看所有分片的恢复状况,查看具体某个索引的分片恢复状况可使用该命令查看initializing分片的恢复进度
curl -XPUT "localhost:9200/_all/_settings" -d '{"index":{"routing.allocation.total_shards_per_node":"2"}}'修改索引在一个节点上可以分配的分片个数若主副分片数与节点数相同,则设置为2;若主副分片数为节点数的80%, 则设置为1
curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.node_concurrent_recoveries":"60"}}'修改每个节点可同时恢复的分片个数在有大量unassigned分片时,为加快恢复速度可将该值调整为60,在集群green后修改回默认值20
curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.balance.disk.enabled":"true"}}' curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.rebalance.enable":"all"}}' curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.balance.disk.enabled":"false"}}' curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.rebalance.enable":"none"}}'开启磁盘平衡 关闭磁盘平衡存在多个unassigned分片时,若仍存在relocating分片,可暂时关闭磁盘平衡,待unassigned分片减少至0时,需重新开启磁盘平衡
curl -XPUT "localhost:9200/_all/_settings" -d '{"settings":{"index.unassigned.node_left.delayed_timeout":"1m"}}'修改分片延迟分配的时间若delayed_unassigned_shards一直卡住,则需修改延迟时间为1m,delayed_unassigned_shards降低后应将延迟时间修改回默认120h
curl -XPUT "localhost:9200/_cluster/settings" -d '{"transient":{"priority.allocation.enabled":"false"}}'修改分片分配优先级initializing分片很少,可能是因为集群在优先分片当天的索引,当天索引进入initializing状态后,才会去分其他索引。可修改该值为false
curl -XPUT "localhost:9200/_cluster/settings" -d '{"persistent":{"action.destructive_requires_name":true}}'修改通配符设置在有这个设置的时候无法使用通配符来批量打开/关闭/删除索引
curl localhost:9200/_cluster/allocation/explain?pretty -d '{"index": "{index}","shard": {shard},"primary": false}'查看分片未分配原因ES5.1.1版本存在unassigned分片,使用该api查看具体原因
curl localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.* \| grep UNASSIGNED查看分片未分配原因ES2.0版本无上述查询分片无法分配原因的api, 可使用此命令查看
脚本名称使用方法作用使用场景
elasticsearch.shsh elasticsearch.sh startsh elasticsearch.sh stopstart参数启动本台服务器上的ES,stop参数停止本台服务器上的ES只需启动或停止一台服务器的ES服务
skybuilder.shsh skybuilder.sh startsh skybuilder.sh stopstart参数启动本台服务器上的skybuilder,stop参数停止本台服务器上的skybuilder只需启动或停止一台服务器的skybuilder服务
run.shsh run.sh es.startsh run.sh es.stopes.start参数启动所有服务器上的ES,es.stop参数停止所有服务器上的ES需要启动或停止所有服务器的ES服务
sh run.sh sky.startsh run.sh sky.stopsky.start参数启动所有服务器上的skybuilder,sky.stop参数停止所有服务器上的skybuilder需要启动或停止所有服务器的skybuilder服务
service.shsh service.sh startsh service.sh stopsh service.sh restartsh service.sh addCronsh service.sh removeCronstart参数启动ES集群和skybuilder,并重新加载crontab,stop参数停止ES集群和skybuilder,并移除crontab,restart参数重启ES集群和skybuilder,并重新加载crontab集群所有服务器添加crontab集群所有服务器移除crontab需要启动/停止/重启所有服务器的ES服务和skybuilder服务需要加载/移除所有服务器的crontab
index.shsh index.sh health查看集群健康度可使用watch sh index.sh health持续观察
sh index.sh index.currsh index.sh -v index.curr查看集群当天的索引,-v参数可选不加-v只显示索引名称和状态,加-v显示索引的全部信息
sh index.sh index.allsh index.sh -v index.all查看集群所有的索引,-v参数可选不加-v只显示索引名称和状态,加-v显示索引的全部信息
sh index.sh -i curr create.allsh index.sh -i next create.allcurr参数创建当天的索引,next参数创建下一天的索引。已经创建的索引不会再重复创建。crontab失效导致索引未成功创建;手动删除异常索引后重新创建
sh index.sh open.allsh index.sh close.allopen.all参数打开所有的索引,close.all参数关闭所有的索引
sh index.sh template.update更新集群的模板更新的template/skyeye下的模板文件后需执行;或者是mapping存在问题,可执行重新刷新模板
sh index.sh relocate.enablesh index.sh relocate.disablerelocate.enable参数为开启集群平衡,relocate.disable参数为关闭集群平衡在集群yellow/red的状态下如果存在relocate操作会增加集群压力,可临时关闭,待green后再开启
sh index.sh recov.run查看所有索引的recovery状况在集群恢复green的过程中,可使用该脚本查看initializing分片的恢复进度
gen_es_config.shsh gen_es_config.sh依据conf/config.ini和conf/elasticsearch.ini生成ES各个节点的elasticsearch.yml配置文件更改conf/config.ini或者conf/elasticsearch.ini后需执行
gen_sky_config.shsh gen_sky_config.sh依据template/skyeye/skybuilder.txt文件生成skybuilder的 .conf 配置文件通过template/skyeye/skybuilder.txt调整skybuilder入库线程后需执行
common_util.shcommon_util.sh loadCroncommon_util.sh removeCron单台服务器加载crontab定时任务,任务列表为conf/crontab.txt单台服务器移除crontab定时任务单台服务器crontab丢失时需手动执行重新加载

1、平衡集群分片

curl -sXPUT "http://localhost:9200/*2019.04.20/_settings" -d '{"index.routing.allocation.total_shards_per_node":3}'

2、查询集群线程池

curl -sXGET "http://localhost:9200/_cat/thread_pool" | awk '{if($3>0)print $0}'

3、集群执行segment合并

ES5.X: curl -X POST "localhost:9200/_all/_forcemerge?max_num_segments=1"
ES2.X: curl -X POST "localhost:9200/situation-event/_optimize?max_num_segments=1"

4、查看segment合并效果

curl "http://localhost:9200/_cat/indices?h=health,status,index,pri,rep,docs.count,segments.count,uuid,docs.deleted"| awk '{if($4*(1+$5) != $7){print $0}}' | wc -l

5、设置添加删除节点或负载均衡时并发恢复线程的个数

curl -sXPUT "http://localhost:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.node_concurrent_recoveries":"20"}}'

6、查询某个索引的分配情况

curl -XGET localhost:9200/_cluster/allocation/explain?pretty -d '{"index":"skyeye-udpflow-2019.04.12","shard":1,"primary":true}'

7、查看集群健康状态

curl http://127.0.0.1:9200/_cluster/health?pretty

8、集群状态信息

curl -XGET 'http://localhost:9200/_cluster/stats?human&pretty'

9、节点监控

curl http://127.0.0.1:9200/_nodes/stats?pretty 
10、索引监控
curl http://127.0.0.1:9200/_stats?pretty

10、打开/关闭索引

curl -XPOST http://127.0.0.1:9200/my_index/_close
curl -XPOST http://127.0.0.1:9200/my_index/_open

11、查看磁盘占用情况

curl 127.0.0.1:9200/_cat/allocation?v

13、查看集群恢复状态

curl -XGET http://localhost:9200/_recovery?pretty=true
curl -XGET localhost:9200/_cat/recovery | grep -v done | wc -l

14、查看fielddata占用情况

curl -XGET localhost:9200/_cat/fielddata?v

15、查询访问node和shard

curl -XPOST localhost:9200/[索引]/_search_shards -d '[查询语句]'

16、Elasticsearch导出导入文件

导入导出脚本:

参考链接:

ES常用命令 - 知乎

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<C++> STL_list

1.list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一个元素和后一个元素。list与…

0201hdfs集群部署-hadoop-大数据学习

文章目录 1 前言2 集群规划3 hadoop安装包上传与安装3.1 上传解压 4 hadoop配置5 从节点同步和环境变量配置6 创建用户7 集群启动8 问题集8.1 Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority. 结语 1 前言 下面我们配置下单namenode节点h…

ssm+vue人力资源管理系统源码和论文

ssmvue人力资源管理系统源码和论文098 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 系统目标 本系统主要目标是对大中型公司所设计,是对人力资源的科学化的管理,使信息存储达到精确…

Spring Authorization Server入门 (十六) Spring Cloud Gateway对接认证服务

前言 之前虽然单独讲过Security Client和Resource Server的对接,但是都是基于Spring webmvc的,Gateway这种非阻塞式的网关是基于webflux的,对于集成Security相关内容略有不同,且涉及到代理其它微服务,所以会稍微比较麻…

PlantUML文本绘制类图

记录下文本绘制类图的语法 参考 https://juejin.cn/post/6844903731293585421 类的UML表示 使用UML表示一个类,主要由三部分组成。类名、属性、方法。其中属性和方法的访问修饰符用 - 、# 、 表示 private、protected、public。 如图所示,表示A类有一个…

htmx-使HTML更强大

‍本文作者是360奇舞团开发工程师 htmx 让我们先来看一段俳句: javascript fatigue: longing for a hypertext already in hand 这个俳句很有意思,是开源项目htmx文档中写的,意思是说,我们已经有了超文本,为什么还要去使用javascr…

基于JavaWeb和mysql实现网上书城前后端管理系统(源码+数据库+开题报告+论文+答辩技巧+项目功能文档说明+项目运行指导)

一、项目简介 本项目是一套基于JavaWeb和mysql实现网上书城前后端管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都…

vue左侧漏斗切换 echart图表动态更新

这个需求是根据点击左侧的箭头部分&#xff0c;右侧图表切换&#xff0c;左侧选中数据高亮&#xff08;图片用的svg&#xff09; 一、效果图 二、vue组件 <template><div class"funnel_wrap"><div class"flex_between"><div class&q…

Mac 安装php多版本,brew安装php8.0

因为需要我要在mac上装两个php版本&#xff0c;先前我已经装过php7.4,下面我们逐步安装php8.0 开始安装8.0&#xff1a; 直接运行安装 brew install php8.0 遇到问题怀疑是仓库太老了&#xff0c;更新一下homebrew ,重新安装 brew update 安装成功了,不过看了下版本好像不能正…

Remmina在ubuntu22.04中无法连接Windows

Remmina在ubuntu22.04中无法连接Windows 问题 提示为&#xff1a; 无法通过TLS到RDP服务器… 分析 原因是Remmina需要使用openssl通过RDP加密与Windows计算机连接&#xff0c;而ubuntu22.04系统中OpenSSL版本为3.0&#xff0c;Openssl3 将 tls<1.2 和 sha1 的默认安全级别…

2023年高教社杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

docker容器运行成功但无法访问,原因分析及对应解决方案(最新,以Tomcat为例,亲测有效)

原因分析&#xff1a; 是否能访问当运行docker容器虚拟机&#xff08;主机&#xff09;地址 虚拟机对应的端口号是否开启或者防墙是否关闭 端口映射是否正确&#xff08;这个是我遇到的&#xff09; tomcat下载的是最新版&#xff0c;docker运行后里面是没有东西的&am…