清理ELASTICSEARCH索引
前景提要:elastic search在使用一段时间后,会产生很多索引数据。在长时间不处理,会产生很多旧索引,当然也可能是其他日志文件造成的。ES数据所在目录磁盘空间使用率超过90%(不改配置是90%)后,ES将修改为只读状态,导致ES不允许写入。
方法一
直接手动清除指定日期之前的索引
curl --user username:password -XDELETE http://127.0.0.1:9200/*-${DATA}
方法二
设置定时器清理(推荐)
#/bin/bash
#指定日期(14天前)
DATA=`date -d "2 week ago" +%Y.%m.%d`
#当前日期
time=`date`
#删除14天前的日志
curl --user username:password -XDELETE http://127.0.0.1:9200/*-${DATA}
if [ $? -eq 0 ];then
echo $time"-->del $DATA log success.." >> /home/ect/elasticsearch-7.8.0/tmp/es-index-clear.log
else
echo $time"-->del $DATA log fail.." >> /home/ect/elasticsearch-7.8.0/tmp/es-index-clear.log
fi
~
crontab -e
0 0 * * * sh /opt/server/cron/delete_elasticsearch_data.sh > /dev/null 2>&1
*重点:这里有个知识点,不管你通过什么方式清理磁盘,都需要重新将elastic search的索引策略从只读改为可写入