跳到主要内容

04、ElasticSearch 实战:es集群健康检查和简单的索引操作

这篇文章以kibana自带的例子来逐个讲解

 

1、检查集群的健康状况

GET /_cat/health?v

 

意思是这样的:

epoll/timestamp:时间戳/时间。

cluster:集群名称。默认是elasticsearch

status:集群状态。green-->健康;yellow->分配了所有primary shard,但至少缺少一个replica shard;red-->部分主分片不可用,可能已经丢失数据

node.total:健康的节点总数量。

node.data:健康的有数据的节点总数量。

shards:存活的shard数量。

pri:存活的primary shard数量。

init:初始化中的shard数量。节点宕机时该节点上的shard会变成init状态。

relo:迁移中的shard数量。宕机后init状态的shard会迁移到其它节点上,迁移的过程为relo状态

unassign:未分配的分片。节点宕机后该节点上的shard没有可以迁移的节点了,此时状态为unassign

pending_tasks:准备中的任务。任务指迁移shard等

max_task_wait_time:任务最长等待时间。

active_shards_percent:存活shard占总shard的百分比。status为green时值为100%。但是上图值是50%,因为我现在只有1个es节点,里面有一个index,就是kibana自己内置建立的index(1个primary shard和1个replica shard),而primary shard和replica shard不能在同一台机器上(为了容错),所以只有1个primary shard被分配了和启动了,而另一个replica shard没有第二个node去分配和启动,所以节点存活率=1/2=50%。

2、查看集群中有哪些索引

GET /_cat/indices?v

 

health:索引的健康状况。有green、yellow、red三个状态。

index:索引名。

uuid:索引的唯一id。

pri:索引的primary shard数量。默认是5

rep:索引的replica shard数量。默认是5

docs.count:该索引有几个document。

docs.deleted:该索引有几个软删除的document。

store.size:该索引所有shard占用的总存储空间。

pri.store.size:该索引所有primary shard占用的总存储空间。

3、简单的索引操作

创建索引:

PUT /test_index?pretty

 

默认会有5个primary shard

 

也可以在创建索引时指定primary shard和replica shard的数量

PUT /test_index
{
   "settings" : {
      "number_of_shards" : 3,
      "number_of_replicas" : 1
   }
}

删除索引:

DELETE /test_index?pretty