在本篇文章之前, 需要完成:
1、 启动Elasticsearch服务, 至少启动一个节点, 参考博主文章 [ES 02 - Elasticsearch单机服务的部署 (包括常见问题的解决)][ES 02 - Elasticsearch_], 部署Elasticsearch服务;
2、 启动Kibana, 参考博主文章 [ES 04 - 安装Kibana插件(6.6.0版本)][ES 04 - _Kibana_6.6.0], 安装并启动Kibana;
3、 通过浏览器访问Kibana;
4、 进入Dev Tools(开发者工具)界面.
1 检查集群的健康状况
ES提供了一套_cat API
, 可以查看ES中的各类数据.
# 查询API:
GET _cat/health?v
# 响应信息如下(一行显示不全, 分作两行):
epoch timestamp cluster status node.total node.data shards pri relo
1552979327 07:08:47 heal_es yellow 1 1 33 33 0
init unassign pending_tasks max_task_wait_time active_shards_percent
0 5 0 - 86.8%
(1)如何快速了解集群的健康状况? 通过查看status选项的值:
1、 green
: 所有primary shard和replica shard都已成功分配, 集群是100%可用的;
2、 yellow
: 所有primary shard都已成功分配, 但至少有一个replica shard缺失. 此时集群所有功能都正常使用, 数据不会丢失, 搜索结果依然完整, 但集群的可用性减弱. —— 需要及时处理的警告.
3、 red
: 至少有一个primary shard(以及它的全部副本分片)缺失 —— 部分数据不能使用, 搜索只能返回部分数据, 而分配到这个分配上的写入请求会返回一个异常. 此时虽然可以运行部分功能, 但为了索引数据的完整性, 需要尽快修复集群.
(2)集群状态为什么是yellow?
1、 当前只有一个Elasticsearch节点, 而且此时ES中只有一个Kibana内建的索引数据.
2、 ES为每个index默认分配5个primary shard和5个replica shard, 为了保证高可用, 它还要求primary shard和replica shard不能在同一个node上.
3、 当前服务中, Kibana内建的index是1个primary shard和1个replica shard, 由于只有1个node, 所以只有primary shard被分配和启动了, 而replica shard没有被成功分配(没有其他node可用).
2 查看集群中的节点个数
# 查询API:
GET _cat/nodes?v
# 响应信息如下(一行显示不全, 分作两行):
ip heap.percent ram.percent cpu load_1m load_5m load_15m
172.16.22.133 49 98 3 0.56 0.74 1.02
node.role master name
mdi * 1UlY804
3 查看集群中的索引
# 查询API:
GET _cat/indices?v
# 响应信息如下(一行显示不全, 分作两行):
health status index uuid pri rep
green open .kibana_1 4q7ELvdcTVilW3UwtMWqeg 1 0
docs.count docs.deleted store.size pri.store.size
18 0 78.5kb 78.5kb