ES集群检查常用命令
一、集群检查常用命令
- 查询集群状态命令:
curl -XGET "http://ip:port/_cluster/health?pretty"
- 查询Es全局状态:
curl -XGET "http://ip:port/_cluster/stats?pretty"
- 查询集群设置
curl -XGET "http://ip:port/_cluster/settings?pretty"
- 查看集群文档总数
curl -XGET "http://ip:port/_cat/count?v"
- 查看集群文档总数
curl -XGET "http://ip:port/_cat/count?v"
- 查看集群别名组
curl -XGET "http://ip:port/_cat/aliases"
6.查看当前集群索引分片信息
curl -XGET "http://ip:port/_cat/shards?v" 注:查看某一个索引可用shards/索引名?v
7.查看集群实例存储详细信息
curl -XGET "http://ip:port/_cat/allocation?v"
8.查看当前集群的所有实例
curl -XGET "http://ip:port/_cat/nodes?v"
9.查看某索引分片转移进度
curl -XGET "http://ip:port/_cat/recovery/索引名?v"
10.查看当前集群等待任务
curl -XGET "http://ip:port/_cat/pending_tasks?v"
11.查看集群写入线程池任务
curl -XGET "http://ip:port/_cat/thread_pool/bulk?v"
12.查看集群查询线程池任务
curl -XGET "http://ip:port/_cat/thread_pool/search?v"
13.查看分片未分配的原因
curl -XGET "http://127.0.0.1:24100/_cat/shards?v&h=index,shard,prirep,state,node,unassigned.reason" | grep UNASSIGNED
二、集群设置常用命令
- 设置集群分片恢复参数
curl -XPUT "http://ip:httpport/_cluster/settings" -H 'Content-Type: application/json' -d' { "transient": { "cluster.routing.allocation.node_initial_primaries_recoveries":60, "cluster.routing.allocation.node_concurrent_recoveries":30, "cluster.routing.allocation.cluster_concurrent_rebalance":30 } }'
- 根据实例名称使EsNodeX实例下线:
curl -XPUT "http://ip:httpport/_cluster/settings" -H 'Content-Type: application/json' -d' { "transient": { "cluster.routing.allocation.exclude._name": "EsNode2@ip" } }'
- 根据ip使ES数据节点下线:
curl -XPUT "http://ip:httpport/_cluster/settings" -H 'Content-Type: application/json' -d' { "transient": { "cluster.routing.allocation.exclude._ip": "ip1,ip2,ip3" } }'
- 设置分片恢复过程中的最大带宽速度:
curl -XPUT "http://127.0.0.1:24100/_cluster/settings" -H 'Content-Type: application/json' -d'{ "transient":{ "indices.recovery.max_bytes_per_sec":"500mb" }}'
- 重新分片为空的主分片
curl -XPOST "http://127.0.0.1:24100/_cluster/reroute?pretty" -H 'Content-Type:application/json' -d '{ "commands": [{ "allocate_empty_primary": { "index": "indexname", "shard": 2, "node": "EsNode1@81.20.5.24", "accept_data_loss":true } }]}'
- 重新分配主分片,会尝试将过期副本分片分片为主。
curl -XPOST "http://127.0.0.1:24100/_cluster/reroute?pretty" -H 'Content-Type:application/json' -d '{ "commands": [{ "allocate_stale_primary": { "index": "index1", "shard": 2, "node": "EsNode1@189.39.172.103", "accept_data_loss":true } }]}'
- 清理ES所有缓存
curl -XPOST "http://ip:port/_cache/clear"
8.关闭分片自动平衡
curl -XPUT "http://ip:port/_cluster/settings" -H 'Content-Type:application/json' -d '{ "transient":{ "cluster.routing.rebalance.enable":"none" }}'
9.手动刷新未分配的分片
curl -XPOST "http://127.0.0.1:24100/_cluster/reroute?retry_failed=true"
三、索引查看常用命令
- 查询索引mapping和settings
curl -XGET --tlsv1.2 --negotiate -k -u : 'https://ip:port/my_index_name?pretty'
- 查询索引settings
curl -XGET--tlsv1.2 --negotiate -k -u : 'https://ip:port/my_index_name/_settings?pretty'
3.查看分片未分配详细命令
curl -XGET "http://127.0.0.1:24100/_cluster/allocation/explain?pretty" -H 'Content-Type:application/json' -d '{"index": "indexname","shard": 17,"primary": true}'
4.修改索引只读字段属性为null,放开写入
curl -XPUT "http://127.0.0.1:24100/*/_settings" -H 'Content-Type: application/json' -d '{"index.blocks.read_only_allow_delete": null}'
四、索引设置常用命令
1.关闭索引
curl -XPOST 'http://ip:port/my_index/_close?pretty'
2.打开索引
curl -XPOST 'http://ip:port/my_index/_open?pretty'
3.修改索引刷新时间:
curl -XPUT 'http://ip:port/my_index/_settings?pretty' -H 'Content-Type: application/json' -d'{"refresh_interval" : "60s"}'
4.修改translog文件保留时长,默认为12小时
curl -XPUT 'http://ip:port/my_index/_settings?pretty' -H 'Content-Type: application/json' -d'{"index.translog.retention.age" : "30m"}'
5.设置索引副本:
curl -XPUT 'http://ip:port/my_index/_settings?pretty' -H 'Content-Type: application/json' -d'{"number_of_replicas" : 1}'
6.执行refresh,将内存数据刷新到磁盘缓存
curl -XPOST 'http://ip:port/myindex/_refresh'
7.执行flush,将磁盘缓存刷新到文件系统
curl -XPOST 'https://ip:port/myindex/_flush'
8.执行synced flush,生成syncid
curl -XPOST 'http://ip:port/_flush/synced'
- 强制执行段合并
curl -XPOST 'http://ip:httpport/myindex/_forcemerge?only_expunge_deletes=false&max_num_segments=1&flush=true&pretty'
10.设置索引在每个esnode上的分片个数
curl -XPUT 'http://ip:httpport/myindex/_settings?pretty' -H 'Content-Type: application/json' -d'{"index.routing.allocation.total_shards_per_node" : "2"}'
- 配置控制段合并的refresh、merge线程数等
curl -XPUT "http://ip:port/my_index/_settings?pretty" -H 'Content-Type: application/json' -d'{"refresh_interval": "60s","merge":{"scheduler":{"max_merge_count" : "100","max_thread_count" : "1"},"policy":{"segments_per_tier" : "100","floor_segment" : "1m","max_merged_segment" : "2g"}}}'
12.设置索引的刷新时间和translog配置参数
注意:设置translog参数,必须先关闭索引,设置完成后再打开
代表设置所有索引,如果要设置具体某个索引,可以将替换为具体的索引名称
curl -XPUT "http://ip:httpport/*/_settings" -H 'Content-Type: application/json' -d'{ "index":{ "refresh_interval" : "60s","translog":{ "flush_threshold_size": "1GB", "sync_interval": "120s", "durability": "async"}}}'
13.限制每个索引在每个实例上的分片个数
curl -XPUT 'http://ip:httpport/myindex/_settings?pretty' -H 'Content-Type:application/json' -d '{"index.routing.allocation.total_shards_per_node":"2"}'
五、实例检查常用命令
1.查看实例安装插件
curl -XGET "http://ip:port/_cat/aliases"
2.查询指定ES实例的jvm参数:
curl -XGET 'http://ip:port/_nodes/EsNode1*/stats/jvm?pretty'curl -XGET 'http://ip:port/_nodes/EsNode1@12.40.16.156/stats/jvm?pretty'
ES集群检查常用命令的更多相关文章
- Hadoop学习之路(七)Hadoop集群shell常用命令
Hadoop常用命令 启动HDFS集群 [hadoop@hadoop1 ~]$ start-dfs.sh Starting namenodes on [hadoop1] hadoop1: starti ...
- 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理
目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...
- hadoop集群操作常用命令
一.HDFS相关 1.启动NameNode sbin/hadoop-daemon.sh start namenode 2.启动DataNode sbin/hadoop-<span style=& ...
- kubernetes集群管理常用命令一
系列目录 我们把集群管理命令分为两个部分,第一部分介绍一些简单的,但是可能是非常常用的命令以及一些平时可能没有碰到的技巧.第二部分将综合前面介绍的工具通过示例来讲解一些更为复杂的命令. 列出集群中所有 ...
- 【Kubernetes】容器集群管理常用命令笔记
一.集群部署-查询集群状态 ①查询k8s master各组件健康状态: kubectl get componentstatus ②查询k8s node健康状态: kubectl get node 二. ...
- MongoDB集群管理常用命令
1.以admin身份登录yqtrack_gather01库: mongo 127.0.0.1:27017/yqtrack_gather01 -u username -p password --auth ...
- 教你在Kubernetes中快速部署ES集群
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
- elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)
一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...
- elasticsearch(es) 集群恢复触发配置(Local Gateway参数)
elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现. 首先,我们需要明白如果什么也没配置将会发生什么. 想象一下假设你 ...
随机推荐
- 客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵
作者:韩信子@ShowMeAI 大数据技术 ◉ 技能提升系列:https://www.showmeai.tech/tutorials/84 行业名企应用系列:https://www.showmeai. ...
- ArkUI 条件渲染
前言 在有些情况下,我们需要根据实际的业务来控制标签是否渲染到真实 DOM 中.因此,条件渲染就派上用场了,它分为if...elif/else和show两种. show 允许标签渲染到真实 DOM 中 ...
- Dart 异步编程(二):async/await
对每一个异步任务返回的 Future 对象都使用链式操作-- then ,超过三个以上时,导致"倒三角"现象,降低代码的可阅读性. getHobbies() { post('htt ...
- 获取进程产生了多少次pagefault
怎么获取某个进程产生了多少次pagefault? 这个在ps 命令中可以看到,比如查看java的pagefault情况. ps -o maj_flt -o min_flt -p `ps -e|grep ...
- 如何使用.NET 6的IHostedService和BackgroundService?
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本章是<定制ASP NET 6.0框架系列文章>的第七篇.本文内容和定 ...
- omc.
OMC 099(4b) D 因为 \((abc)^{\dfrac 13} \le \dfrac{a+b+c}3\)(基本不等式),将 \(a = xy, b = yz, c = xz\) 代入得到 \ ...
- C++ 初识函数模板
1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板. 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float ...
- KingbaseES R3 集群主备切换信号量(semctl)错误故障分析案例
案例说明: 某项目KingbaseES R3 一主一备流复制集群在主备切换测试中出现故障,导致主备无法正常切换:由于bm要求,数据库相关日志无法从主机中获取,只能在现场进行分析:通过对比主备切换时的时 ...
- GIN 索引
GIN(Generalized Inverted Index, 通用倒排索引) 是一个存储对(key, posting list)集合的索引结构,其中key是一个键值,而posting list 是一 ...
- JAVA中让Swagger产出更加符合我们诉求的描述文档,按需决定显示或者隐藏指定内容
大家好,又见面啦. 在前一篇文档<JAVA中自定义扩展Swagger的能力,自动生成参数取值含义说明,提升开发效率>中,我们探讨了如何通过自定义注解的方式扩展swagger的能力让Swag ...