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常用命令 - 知乎

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值