在本篇文章之前, 需要完成:
① 启动Elasticsearch服务, 至少启动一个节点, 参考博主文章 ES 02 - Elasticsearch单机服务的部署 (包括常见问题的解决), 部署Elasticsearch服务;
② 启动Kibana, 参考博主文章 ES 04 - 安装Kibana插件(6.6.0版本), 安装并启动Kibana;
③ 通过浏览器访问Kibana;
④ 进入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选项的值:
①
green
: 所有primary shard和replica shard都已成功分配, 集群是100%可用的;
②yellow
: 所有primary shard都已成功分配, 但至少有一个replica shard缺失. 此时集群所有功能都正常使用, 数据不会丢失, 搜索结果依然完整, 但集群的可用性减弱. —— 需要及时处理的警告.
③red
: 至少有一个primary shard(以及它的全部副本分片)缺失 —— 部分数据不能使用, 搜索只能返回部分数据, 而分配到这个分配上的写入请求会返回一个异常. 此时虽然可以运行部分功能, 但为了索引数据的完整性, 需要尽快修复集群.
(2) 集群状态为什么是yellow?
① 当前只有一个Elasticsearch节点, 而且此时ES中只有一个Kibana内建的索引数据.
② ES为每个index默认分配5个primary shard和5个replica shard, 为了保证高可用, 它还要求primary shard和replica shard不能在同一个node上.
③ 当前服务中, 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
版权声明
出处: 博客园 马瘦风的博客(https://www.cnblogs.com/shoufeng)
感谢阅读, 如果文章有帮助或启发到你, 点个[好文要顶