ELK出现unassigned_shards查看及删除

问题

用3台服务器搭建了ELK系统,有一天出现有几个索引一直无法同步,重启了elasticsearch也不行

如下图:elk-cluster一直处于red状态

解决方法

一,查看elasticsearch有3个UNASSIGNED状态的索引
[root@192-168-x-x ~]# curl -XGET 'http://192.168.x.xx:9200/_cat/shards' |grep UNASSIGNED
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0etl211-online-2017.07.21                                                
xxx11-online-2017.07.21                     0 r UNASSIGNED                               
xx-master201-online-2017.07.18              1 p UNASSIGNED                               
xx-master201-online-2017.07.18              1 r UNASSIGNED                               
100  415k  100  415k    0     0   107k      0  0:00:03  0:00:03 --:--:--  107k
二,删除有问题的索引
[root@192-168-x-x ~]#  curl -XDELETE  http://192.168.x.x:9200/xx-master201-online-2017.07.18
{"acknowledged":true}
[root@192-168-x-x ~]#  curl -XDELETE  http://192.168.x.x:9200/xx211-online-2017.07.21
{"acknowledged":true}
三,查看elk-cluster已变为绿色

总结

关于unassigned shards的问题,一般遇到这种情况都是——重启试试, 因为可能是网络通信问题会影响分片分配

另外也可以看看日志,报了什么错,有遇到过硬盘了满了,具体问题具体分析

不行的话,只能强制删除。

第一看集群状态:
curl -XGET 'http://localhost:9200/_cluster/health'
第二,看所有的shards:
curl -XGET 'http://localhost:9200/_cat/shards'
第三,看unassignded shards:
curl -XGET 'http://localhost:9200/_cat/shards' | grep UNASSIGNED
posted @ 2017-08-02 09:38  warren1236  阅读(5727)  评论(0编辑  收藏  举报