Elasticsearch API使用用法介绍-get /_cat/allocation

Elasticsearch是一个分布式的开源搜索和分析引擎,支持全文检索和数据分析,并且可伸缩到上百个节点,处理PB级结构化或非结构化数据。get /_cat/allocation是Elasticsearch API中的一种,它可以显示集群中每个索引在哪个节点上分配,还可以显示硬盘使用率,结构化数据结构等信息。下面将从多个方面对get /_cat/allocation?v进行详细的阐述。

一、获取集群信息

在Elasticsearch集群中,可以使用get /_cat/allocation?v命令获取每个索引名及其在哪个节点上分配的信息,如下所示:

    GET /_cat/allocation?v

执行完上述请求之后,返回的结果如下所示,其中一行代表了一个索引的分配信息:

    shard disk.indices disk.used disk.avail disk.total disk.percent host ip       node
      3        1.3gb     1.4gb     48.5gb     50.1gb          2 127.0.0.1 127.0.0.1 instance-00000002
      3        1.3gb     1.4gb     48.5gb     50.1gb          2 127.0.0.1 127.0.0.1 instance-00000001

每一列的含义如下:

  • shard:分片的索引编号。
  • disk.indices:该分片中索引在磁盘中的尺寸,表示分片上所有索引占用的磁盘空间。
  • disk.used:该分片中索引占用的磁盘空间。
  • disk.avail:该分片中索引未使用的磁盘空间。
  • disk.total:该节点中磁盘总空间。
  • disk.percent:该分片占用磁盘空间的百分比。
  • host:该节点的主机名。
  • ip:该节点的IP地址。
  • node:该节点的节点名称。

二、获取节点信息

在Elasticsearch集群中,可以使用get /_cat/nodes?v命令获取节点的相关信息,如下所示:

    GET /_cat/nodes?v

执行完上述请求之后,返回的结果如下所示:

    ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
    127.0.0.1           25          95   5    0.00    0.00     0.00 ndmi      *      instance-00000001
    127.0.0.1           19          95   5    0.00    0.00     0.00 ndmi      -      instance-00000002

每一列的含义如下:

  • ip:该节点的IP地址。
  • heap.percent:JVM堆使用率百分比,表示该节点JVM的内存使用率。
  • ram.percent:该节点RAM的使用率百分比,表示该节点内存使用率。
  • cpu:该节点CPU使用率。
  • load_1m:该节点在过去一分钟内的系统负载。
  • load_5m:该节点在过去五分钟内的系统负载。
  • load_15m:该节点在过去十五分钟内的系统负载。
  • node.role:该节点在集群中所属的角色。
  • master:该节点是否担任主节点。
  • name:该节点的名称。

三、获取索引信息

在Elasticsearch集群中,可以使用get /_cat/indices?v命令获取所有的索引信息,如下所示:

    GET /_cat/indices?v

执行完上述请求之后,返回的结果如下所示:

    health status index                  uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   .kibana_task_manager_1 0aHg5mj-TXKzRGvBLNZqPQ   1   0         16            0     89.3kb         89.3kb
    green  open   .kibana_1              Q0Cr4twZT0m6QH8tMc-l6Q   1   0          2            0     10.3kb         10.3kb
    green  open   test_index             -N7Qsmw6QqOVquNwCILFjA   1   0          0            0       283b           283b
    green  open   test_index2            MjzHiYQ2QsGk7uSNhFvlEg   1   0          0            0       283b           283b

每一列的含义如下:

  • health:该索引的健康状态。
  • status:该索引是否打开。
  • index:该索引的名称。
  • uuid:该索引的唯一ID。
  • pri:该索引拥有的主分片数量。
  • rep:该索引拥有的副本分片数量。
  • docs.count:该索引中的文档数量。
  • docs.deleted:该索引中已被删除的文档数量。
  • store.size:该索引占用的磁盘空间。
  • pri.store.size:该索引的主分片占用的磁盘空间。

四、获取分片信息

在Elasticsearch集群中,可以使用get /_cat/shards?v命令获取每个分片的信息,如下所示:

    GET /_cat/shards?v

执行完上述请求之后,返回的结果如下所示,其中一行代表了一个分片的信息:

index        shard prirep state      docs store ip        node
test_index2  0     p      STARTED       0  230b 127.0.0.1 instance-00000001
test_index   0     p      STARTED       0  230b 127.0.0.1 instance-00000002

每一列的含义如下:

  • index:该分片所属的索引名称。
  • shard:该分片的编号。
  • prirep:该分片的类型,p表示主分片,r表示副本分片。
  • state:该分片的状态,STARTED表示已启动。
  • docs:该分片中的文档数量。
  • store:该分片占用的磁盘空间。
  • ip:该分片所在的节点的IP地址。
  • node:该分片所在的节点名称。

总结

通过本篇文章的介绍,我们可以了解到get /_cat/allocation?v命令可以获取Elasticsearch集群中每个索引在哪个节点上分配,并且可以显示硬盘使用率,结构化数据结构等信息。同时,我们也了解了如何获取节点、索引、分片的相关信息。通过以上的命令,我们可以更加了解我们的Elasticsearch集群,并在使用过程中更加得心应手。

原创文章,作者:KSZLD,如若转载,请注明出处:https://www.506064.com/n/374487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
KSZLD的头像KSZLD
上一篇 2025-04-28 13:17
下一篇 2025-04-28 13:17

相关推荐

发表回复

登录后才能评论