讓我們從一個基本的集群健康檢查開始。集群健康檢查用於查看集群的運行情況。
我們將使用curl命令工具來訪問Elasticsearch服務,你也可以使用任何其他HTTP/REST調試工具,例如POSTMAN。
可以使用_cat
API進行集群健康檢查:
API格式:
GET /_cat/health?v
curl訪問API:
curl -X GET "localhost:9200/_cat/health?v"
響應如下:
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1558609221 11:00:21 docker-cluster green 1 1 0 0 0 0 0 0 - 100.0%
可以看到名為“docker-cluster”(使用docker安裝)的集群處於綠色狀態。
集群的健康狀態有紅、黃、綠三個狀態:
- 綠 - 一切正常(集群功能齊全)
- 黃 - 所有數據可用,但有些副本尚未分配(集群功能完全)
- 紅 - 有些數據不可用(集群部分功能)
同樣,從上面的響應中,可以看到有1個節點,0個分片,因為其中還沒有數據。默認的Elasticsearch集群下,有時可能會有多個節點。
可以通過以下API,獲取集群中的節點列表:
GET /_cat/nodes?v
curl訪問API:
curl -X GET "localhost:9200/_cat/nodes?v"
響應如下:
[root@qikegu elasticsearch]# curl -X GET "localhost:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.18.0.2 8 94 2 0.04 0.03 0.10 mdi * 86b8dd1cd964
這里,可以看到一個名為“86b8dd1cd964”的節點,是當前集群中的唯一一個節點。