Elasticsearch 常用命令

常用命令

查看集群健康信息

curl -sXGET 127.0.0.1:9200/_cat/health?v
curl -sXGET 127.0.0.1:9200/_cluster/health?pretty

1 绿色,最健康的状态,代表所有的分片包括备份都可用

2 黄色,基本的分片可用,但是备份不可用

3 红色,部分的分片可用,表明分片有一部分损坏。

查看索引的状态以及信息

curl -XGET 127.0.0.1:9200/_cat/indices

 注:还可以配合 grep 来查询关闭了的索引 或者 yellow 的索引

curl -XGET 127.0.0.1:9200/_cat/indices | grep close

 查看所有的分片信息

curl 127.0.0.1:9200/_cat/shards

 单独看一个索引的分片信息

curl 127.0.0.1:9200/_cat/shards/skyeye_udpflow_20210115

查看磁盘占用情况

curl 127.0.0.1:9200/_cat/allocation?v

 查看有哪些被挂起的任务

注:一般都是为空

 获取集群节点列表

curl 127.0.0.1:9200/_cat/nodes?v

 开启索引与关闭索引

curl -XPOST 127.0.0.1:9200/situation-radius_flow-2021.01.19/_close
curl -XPOST 127.0.0.1:9200/situation-radius_flow-2021.01.19/_open

 注:在命令后面可以添加 master_timeout=60s 来控制超时时间

删除索引

curl -XDELETE 127.0.0.1:9200/situation-radius_flow-2021.01.19

列出 user 的 mapping

curl -XGET 127.0.0.1t:9200/user/_mapping?pretty

列出 user 中的 log mapping

curl -XGET 127.0.0.1t:9200/user/log/_mapping?pretty

查看某个索引的 settings

curl 127.0.0.1:9200/my_index/_settings

查看某个索引的 template

curl 127.0.0.1:9200/_template/my_index

查看 shard 未分配(unassigned)出去的原因

curl 127.0.0.1:9200 /_cat/shards?v&h=index,shard,prirep,state,unassigned.reason

初始化分片

curl -XPUT 127.0.0.1:9200/my_temp_index
{
    "settings": {
        "number_of_shards" :   1,   # 主分片数,不可动态修改
        "number_of_replicas" : 0    # 副本分片数,可以动态修改
    }
}

修改副本分片数量

curl -XPUT 127.0.0.1:9200/my_index/_settings
{
  "number_of_replicas": 0
}

分片的详情

curl -XGET 127.0.0.1:9200/situation-radius_flow-2021.01.19/_search_shards?pretty

 ES深度分页机制为防止内存溢出默认阈值为10000,当读取数据>10000时会出现 “Result window is too large”问题

curl -XPUT http://127.0.0.1:9200/my_index/_settings -d '{ "index" : { "max_result_window" : 30000}}' 

注意:窗口值设置不宜过大。数据量太大场景,根据es分页机制会将全部数据加载到内存当中 ,造成cpu和内存过载,影响性能。

原文地址:https://www.cnblogs.com/shangwei/p/14372747.html