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