zoukankan      html  css  js  c++  java
  • es 索引自动删除

    es 索引自动删除

    1. 由于我们每天要存储大量的数据到elasticsearch中,但是存储空间经常有限,导致es崩掉了好多次,所以想到了2种解决方案

      1. 通过kibana 设置索引生命周期

      1. 编写自动删除索引脚本,并通过k8s的方式运行

        #删除第10天的索引
        #/bin/sh
        DATA=`date -d "-10 days" +%Y.%m.%d`
        time=`date`
         #for i in `seq -w 1 17`; # 通过循环过滤出1-17的索引
        echo "开始清理  $DATE 索引"
        curl -u elastic:R^rlv4E*J8g$   -s  10.1.128.86:9200/_cat/indices?v|grep ${DATA}
        if [ $? == 0 ];then
          curl --user  elastic:R^rlv4E*J8g$  -XDELETE "http://10.1.128.86:9200/*-${DATA}"
          echo "于 $time 清理 $DATA 索引!"
        fi
        
        
        #删除1 -20 天的索引
        #/bin/sh
        time=`date`
        for i in `seq -w 1 20`; # 通过循环过滤出1-17的索引
        do 
        DATE="2021.05.${i}"
        echo "开始清理  $DATE 索引"
        curl -u elastic:R^rlv4E*J8g$   -s  10.1.128.86:9200/_cat/indices?v|grep ${DATE}
        if [ $? == 0 ];then
          curl --user  elastic:R^rlv4E*J8g$  -XDELETE "http://10.1.128.86:9200/*-${DATE}"
          echo "于 $time 清理 $DATA 索引!"
        fi
        done
        

        编写dockerfile

        FROM alpine:3.13.1
        
        RUN set -x 
            && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories 
            && apk add --update busybox-suid 
            && apk add --no-cache curl ca-certificates tzdata
        
        ENV LANG C.UTF-8
        ENV TZ Asia/Shanghai
            
        WORKDIR /var/spool/cron/crontabs/
        
        COPY cron root
        COPY es.sh /root/
        
        ENTRYPOINT ["crond"]
        
        CMD ["-f", "-l", "1", "-d", "8"]
        
        

        cron

        # do daily/weekly/monthly maintenance
        # min	hour	day	month	weekday	command
          00	8	  *     *        *    /bin/sh /root/es.sh
        
        

        k8s-es-delete-indexs.yaml

        apiVersion: apps/v1
        kind: Deployment
        metadata:
          labels:
            app: es-delete
          name:  es-delete
        spec:
          replicas: 1   
          selector:
            matchLabels:
              app: es-delete
          template:
            metadata:
              labels:
                app: es-delete
            spec:
              containers:
              - image: zexubao/es-delete:v4
                name: es-delete
                command: ["crond"] 
                args: ["-f", "-l", "1", "-d", "8"]
        
  • 相关阅读:
    [leetcode] First Missing Positive
    [leetcode] Can Place Flowers
    [leetcode] Maximum Product of Three Numbers
    [leetcode] Generate Parentheses
    蓝桥杯 PREV-7 连号区间数
    蓝桥杯 PREV-3 带分数(dfs)
    蓝桥杯 PREV-2 打印十字图
    团体程序设计天梯赛 L3-016 二叉搜索树的结构 (30分)
    团体程序设计天梯赛 L3-020 至多删三个字符 (30分)(DP)
    团体程序设计天梯赛 L3-011 直捣黄龙 (30分)
  • 原文地址:https://www.cnblogs.com/baozexu/p/14830400.html
Copyright © 2011-2022 走看看