ES单节点环境下通过es-head插件访问出现下图所示问题(该问题不影响使用):

elasticsearch es单节点出现unasssigned shards

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

elasticsearch es单节点出现unasssigned shards

2、执行 /_cluster/allocation/explain?pretty 获取unassigned Index

elasticsearch es单节点出现unasssigned shards

3、通过 /index名称/_settings 将该index的副本数量置为0

{

"number_of_replicas": 0

}

elasticsearch es单节点出现unasssigned shards

4、循环执行2、3步,直至第2步出现:

elasticsearch es单节点出现unasssigned shards

5、通过 /_cluster/health 查看集群状态变为“green”

elasticsearch es单节点出现unasssigned shards

6、再次访问es-head插件(http://localhost:9100/

elasticsearch es单节点出现unasssigned shards

 

 

相关文章: