首页 > 其他 > 详细

ES分片损坏问题(unassigned shared)

时间:2021-01-27 22:24:27      阅读:164      评论:0      收藏:0      [点我收藏+]

ES分片损坏

如果遇到unassigned shared 可以通过以下命令,查询并将损坏的索引名称打印到文件内

curl -k -u elastic:elastic  -XGET "http://192.168.45.11:9200/_cat/shards?" | grep UNASSIGNED >> needDelIndex.txt

通过删除脚本,修改esUrl的地址和端口、执行shell脚本,删除损坏的索引

#!/bin/bash
echo "$1"
esUrl=192.168.45.11:9200

indexfile=needDelIndex.txt
#cp -f /dev/null ${indexfile}
#curl -XGET ip:port/_cat/shards | grep UNASSIGNED >> needDelIndex.txt
if [ ! -f ./${indexfile} ]; then
    echo $indexfile not exists
    exit 0
fi

logfile=esindex_del.`date +"%m-%d"`.log
cp -f /dev/null ${logfile}

lastIndexName="test"

for item in `cat ${indexfile} | awk  ‘{print $1}‘`
do
    if [ "$item" = "error" ]
    then
        continue
    fi

    if [ "$item" != "$lastIndexName" ]
    then
        curl -k -u elastic:elastic -XDELETE ${esUrl}/${item} >> ${logfile}
        echo ---------${item} `date` >> ${logfile}
        sleep 5
    fi
    lastIndexName=${item}

done

ES分片损坏问题(unassigned shared)

原文:https://www.cnblogs.com/JanGuoon/p/14335765.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!