ES单节点环境下通过es-head插件访问出现下图所示问题(该问题不影响使用):
ES中的shards和replica需要分布在不同的节点中才能保障es的稳定性和高可用性,当某一个shards出现故障时,对应的replica会充当shards的角色来提供服务。所以在单节点环境下es中的replica将无法得到分配,也就会出现上图的问题。此时只需要将index的replica数量修改为0即可解决上图的问题。
以下通过postman工具发起请求进行过修改,也可以直接使用es-head插件中的“复合查询”对es Restful API进行调用操作:
1、通过 /_cluster/health 查看集群状态为“yellow”,unassigned_shards为15
2、执行 /_cluster/allocation/explain?pretty 获取unassigned Index
3、通过 /index名称/_settings 将该index的副本数量置为0
{
"number_of_replicas": 0
}
4、循环执行2、3步,直至第2步出现:
5、通过 /_cluster/health 查看集群状态变为“green”
6、再次访问es-head插件(http://localhost:9100/)