美文网首页
查看未分配分片(unassigned shard)的原因及删除包

查看未分配分片(unassigned shard)的原因及删除包

作者: 与狼共舞666 | 来源:发表于2024-05-23 17:19 被阅读0次

查看未分配分片的原因:

#!/bin/bash

# 查询所有未分配的分片
unassigned_shards=$(curl -s -X GET -uxxxx:xxxxxx "http://xxxxxx:9200/_cat/shards?v" | grep UNASSIGNED)

# 打印未分配的分片信息
echo "未分配的分片信息:"
echo "$unassigned_shards"

# 提取索引和分片信息
echo "$unassigned_shards" | while read -r line; do
  index=$(echo $line | awk '{print $1}')
  shard=$(echo $line | awk '{print $2}')
  echo "解释索引 $index 分片 $shard 未分配的原因:"
  curl -X GET "http://localhost:9200/_cluster/allocation/explain" -H 'Content-Type: application/json' -d"
  {
    \"index\": \"$index\",
    \"shard\": $shard,
    \"primary\": true
  }
  "
  echo ""
done

原因是其中一个节点宕机后索引损坏,类似如下:

解释索引 app-log-2024.05.24.10 分片 1 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"},"status":404}
解释索引 app-log-2024.05.24.10 分片 2 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"},"status":404}
解释索引 app-log-2024.05.24.10 分片 0 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.05.24.10"},"status":404}
解释索引 .monitoring-es-7-2024.05.24 分片 0 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":".monitoring-es-7-2024.05.24"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":".monitoring-es-7-2024.05.24"},"status":404}
解释索引 app-log-2024.02.26.07 分片 1 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.02.26.07"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"app-log-2024.02.26.07"},"status":404}
解释索引 k8s-log-2024.05.23 分片 0 未分配的原因:
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"k8s-log-2024.05.23"}],"type":"index_not_found_exception","reason":"no such index","index_uuid":"_na_","index":"k8s-log-2024.05.23"},"status":404}

批量删除包含未分配分片所在的索引

#!/bin/bash

# 获取所有包含未分配分片的索引
unassigned_indices=$(curl -s -X GET -uxxx:xxxxxxxxx "http://xxxxxxxx:9200/_cat/shards?v" | grep UNASSIGNED | awk '{print $1}' | sort | uniq)

# 打印待删除的索引
echo "待删除的索引:"
echo "$unassigned_indices"

# 批量删除包含未分配分片的索引
for index in $unassigned_indices; do
  echo "删除索引: $index"
  curl -X DELETE -uxxx:xxxxxx "http://xxxxxxxx:9200/$index"
done
image.png

相关文章

网友评论

      本文标题:查看未分配分片(unassigned shard)的原因及删除包

      本文链接:https://www.haomeiwen.com/subject/dobtqjtx.html