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

启动hdfs的shell脚本为(hdfs的shell命令)

启动hdfs的shell脚本为(hdfs的shell命令)

问题描述

今天上班的时候,突然发现集群的内存仅剩50G了
查看管理界面才发现是9台机器宕掉了
报错log-dir are bad
猜测应该是数据打满了
一看果然是,9台机器上的存储空间都达到了90%以上
百度了一下发现,如果集群的存储达到90%以上就会变成不可用状态
应该是每天sqoop全量导数据导致的
删一删呗,但是也不能每天手动删除吧,那多累
写个脚本来搞一下

问题解决
#! /bin/bash
tt=`date -d "8 day ago" +%Y-%m-%d`
tt1=`date -d $tt +%s`
hdfs dfs -ls hdfs://xxxxxxx/user/hive/warehouse/ods.db | grep dt= | awk '{print $NF}' | while read file
do
    # 切割出日期
    file_dt=${file#*=}
    #echo $file_dt
    # 将日期转换成数字
    file_dt_num=$(date -d ${file_dt} +%s)
    #echo $file_dt_num
    # 删除7天之前的数据
    if [ $file_dt_num -le $tt1 ];then
        echo $file
        echo $file_dt >> file_dt_temp.txt
    fi
done
cat file_dt_temp.txt | sort -u | while read file_dt
do
    echo "hadoop fs -rmr   hdfs://xxxxxx/user/hive/warehouse/ods.db/*/dt=${file_dt}"
done
rm file_dt_temp.txt
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/771817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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