贴一下错误信息:
一、设置副分片
1.查询索引设置:发现副本数为2,直接设置为0
product/_settings
2.设置副本数为0
PUT参数:
{"number_of_replicas":0}
3.此时在看集群节点状态
此时他会自动分配到其他节点,如果一直没有分配到其他节点,那就是其他节点有错误信息,没同步成功,我这里就一直没成功,发现是应为ik分词器报错,所以在子节点安装了ik分词器以后重启节点即可。
成功的截图(我后来又将副分片设置成一就好了,设置成2仍然会出现3个未分配分片,应该和节点数量有关。可以尝试加节点或者减少副分片):
二、命令行强制分配分片
1.查看集群健康状态:
curl -XGET http://localhost:9200/_cluster/health?pretty
图中显示有6个分片未分配节点
2.查看未分配分片状态
curl -s "http://localhost:9200/_cat/shards" | grep UNASSIGNED
3.查看节点为master的节点唯一标识
curl 'localhost:9200/_nodes/process?pretty'
4.执行reroute
curl -H "Content-Type: application/json" -XPOST 'localhost:9200/_cluster/reroute' -d '{ "commands" : [ { "allocate_replica" : { "index" : "product", "shard" : 0, "node" : "master" } } ] }'
index:需要修复的索引的名字product
shard:shard的编号,图中可以看出0,1,2
node:master节点名字
备注:我在执行该命令的时候报错:
看到上面有说ik分词器,才想起来master上面的product使用了ik分词器,从节点没有安装,所以无法成功强制分片。此时需要将从节点也安装ik分词器。 一定要重启!!!!!!
检验ik分词器是否安装:
post执行: _analyze
参数:{"text":"中华人民共和国人民大会堂","analyzer":"ik_max_word"}
正确结果返回如图:
参考:elasticsearch分片报错Unassigned
到此这篇elasticsearch分片报错Unassigned的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/10610.html