原因: 内存不够造成的,es中规定: es内容划分超过85%,副本分片无法分配。
解决方案: 修改内存超额分配比例
副本分片分配:
理论知识:
在上一篇文章中,我记录了在windows下同一台机器上搭建es集群的步骤,第二天在向集群中创建索引的时候,出现了分片副本未分配的情况(UNASSIGNED)。
虽然并不影响数据的插入和查询,但是有问题总是要解决。起初我以为是集群里面三个节点没有正常启动,但是我检查了后发现节点正常
发送http请求http://localhost:9201/_cluster/health,返回的信息显示正常,可用节点位3
随后去网上找资料,说是硬盘容量使用超过85%造成的,我看了一下果然如此
为了验证是否是这个原因造成的,我将利用率最高设置为了90%
设置成功后刷新了head插件,发现分片副本果然成功分配了
随后我进行了第二种验证,修改配置文件中的data存储位置
然后重启三个es,发现索引没有了,这是因为更换了数据存储位置,重新建立索引,分片全部分配成功。