ES shard Unassigned恢复提示corruption

ES出现Unassigned shard时,通常使用如下命令进行恢复即可,这里假设shard 3丢失。

POST _cluster/reroute
{
    "commands": [
        {
            "allocate_stale_primary": {
                "index": "my-index-name",
                "shard": 3, 
                "node": "my-node-name",
                "accept_data_loss": true
            }
        }
    ]
}

但是当恢复不能成功,且提示corruption(损坏),就会很恼火。这是我们只需要进入es数据存储目录将corruption文件删除即可(这可以使index恢复但是可能会丢失数据)。具体做法:
首先确定丢失的分片在哪个节点上,进入该节点的存储目录,我这里是/data/esdb/nodes/0/indices/SR46ul8LT7eXZpIYuyzAdA/index。
查看目录中的文件,把以corrupted_开头的文件(例如corrupted_TkF78pmmSRWY0ccHuwsvvA)删除(或者移动到其它地方备份),然后再执行开头的_cluster/reroute命令就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值