ES集群检查常用命令

一、集群检查常用命令

  1. 查询集群状态命令:
curl -XGET "http://ip:port/_cluster/health?pretty"
  1. 查询Es全局状态:
curl -XGET "http://ip:port/_cluster/stats?pretty"
  1. 查询集群设置
curl -XGET "http://ip:port/_cluster/settings?pretty"
  1. 查看集群文档总数
curl -XGET "http://ip:port/_cat/count?v"
  1. 查看集群文档总数
curl -XGET "http://ip:port/_cat/count?v"
  1. 查看集群别名组
curl -XGET "http://ip:port/_cat/aliases"6.查看当前集群索引分片信息
curl -XGET "http://ip:port/_cat/shards?v"注:查看某一个索引可用shards/索引名?v7.查看集群实例存储详细信息
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二、集群设置常用命令
  1. 设置集群分片恢复参数
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} }'
  1. 根据实例名称使EsNodeX实例下线:
curl -XPUT"http://ip:httpport/_cluster/settings" -H 'Content-Type: application/json' -d' {"transient": {"cluster.routing.allocation.exclude._name": "EsNode2@ip"} }'
  1. 根据ip使ES数据节点下线:
curl -XPUT"http://ip:httpport/_cluster/settings" -H 'Content-Type: application/json' -d' {"transient": {"cluster.routing.allocation.exclude._ip": "ip1,ip2,ip3"} }'
  1. 设置分片恢复过程中的最大带宽速度:
curl -XPUT "http://127.0.0.1:24100/_cluster/settings" -H 'Content-Type: application/json' -d'{ "transient":{"indices.recovery.max_bytes_per_sec":"500mb"}}'
  1. 重新分片为空的主分片
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}}]}'
  1. 重新分配主分片,会尝试将过期副本分片分片为主 。
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}}]}'
  1. 清理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"三、索引查看常用命令
  1. 查询索引mapping和settings
curl -XGET --tlsv1.2--negotiate -k -u : 'https://ip:port/my_index_name?pretty'
  1. 查询索引settings
curl -XGET--tlsv1.2--negotiate -k -u : 'https://ip:port/my_index_name/_settings?pretty'3.查看分片未分配详细命令
【ES集群检查常用命令】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"}'

推荐阅读