Elasticsearch强制重置未分配的分片(unassigned)

强制重置未分片的分片,这个问题源自于Elasticsearch维护中,Node意外退出的场景。

意外退出后Elasticsearch由于网络原因或者jvm性能压力,未能短时间内分配分片。

看一下分片的状态。可以看到有一些分片处于未分配状态。

代码语言:javascript
复制
curl http://10.93.21.21:8049/_cat/shards

我们这里是node-client09节点挂掉了,重启这个节点之后,通过下面的脚本,可以将分片重新分派到node-client09。

代码语言:javascript
复制
NODE="node-client09"  
IFS=$'\n'  
for line in $(curl -s 'http://10.93.21.21:8049/_cat/shards' | fgrep UNASSIGNED); do  
  INDEX=$(echo $line | (awk '{print $1}'))  
  SHARD=$(echo $line | (awk '{print $2}'))  
  echo $INDEX
  echo  $SHARD
  curl -XPOST 'http://10.93.21.21:8049/_cluster/reroute' -d '{  
     "commands": [  
        {  
            "allocate": {  
                "index": "'$INDEX'",  
                "shard": '$SHARD',  
                "node": "'$NODE'",  
                "allow_primary": true  
          }  
        }  
    ]  
  }'  
done 
posted @   技术颜良  阅读(155)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2023-06-06 MySql导出存储过程、事件、触发器等
2023-06-06 Go协程Goroutines
2022-06-06 从Go log库到Zap,怎么打造出好用又实用的Logger
2018-06-06 Gogs安装配置(快速搭建版)转载
点击右上角即可分享
微信分享提示