栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ES删除索引时报错“wildcard expressions or all indices are not allowed“

ES删除索引时报错“wildcard expressions or all indices are not allowed“

在删除索引时,使用了通配符,批量删除

/usr/bin/curl -v  -XDELETE "http://192.168.1.237:9200/*2021.10.11"

结果执行的时候一直报一个错

百度上查了说是:为了防止误删除,elasticsearch.yml 中的action.destructive_requires_name默认为true
,只要将这个参数改为false重启就可以了,但是我去看了一下,我的参数就是false

而且我原来是可以批量删除的,突然就不可以了,具体为啥我也不知道,只能自己手动写脚本去删除。

#!/bin/bash

delete_date=`date -d 'today -3 day' +'%Y-%m-%d'`
#将时间变成时间戳
ios_date=`date -d $delete_date +%s`

echo $ios_date

#获取所有索引
curl -XGET http://localhost:9200/_cat/indices | awk -F" " '{print $3}' |  grep -v kibana | grep -v async | grep -v apm   > /test.txt 

#过滤指定索引
for i in $(cat /test.txt)
  do
  #获取每个索引的时间
  index_date=`echo $i | awk -F"_" '{print $NF}' | sed 's/./-/g'`
  index_date_ios=`date -d $index_date +%s`
  #echo $index_date
  #判断索引是否符合要求
  if [ $index_date_ios -le $ios_date ]
    then
    #删除索引
    curl -XDELETE localhost:9200/$i
    #echo $i
  fi
  done
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号