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/zh-tw/n/374487.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KSZLD的頭像KSZLD
上一篇 2025-04-28 13:17
下一篇 2025-04-28 13:17

相關推薦

發表回復

登錄後才能評論