hadoop叢集空間使用方式報告指令碼

來源:互聯網
上載者:User

最近叢集空間有點緊張,總是擔心空間不足而崩潰,近期擴容又不太現實,經與叢集使用者溝通發現:叢集上儲存了很多無用的曆史資料,可以刪除,這樣就可以通過一個crontab指令碼每天產生叢集空間使用報告,當使用量超過70%、80%是分別警示,並通知那些使用者佔用空間較大,預留當機冗餘空間,這樣就不需要時刻擔心叢集空間爆滿了。

[hdfs@hanagios48 root]$ more /home/hdfs/dfsadmin_report.sh
#!/bin/bash
source ~/.bash_profile

today=$(date +%Y%m%d)
#report=`hadoop dfsadmin -report|head -n 11`

report=/tmp/report
echo "Hi,各位叢集使用者
當Hadoop叢集空間使用量達到70%時,各位將會收到Warning郵件,提示清理空間;
當Hadoop叢集空間使用量到達80%時,各位將會收到Critical郵件, 提示清理空間;
為保證叢集資料安全,預留down機冗餘空間,請各位務必清理,如因資料量確實巨大,叢集無法容納,請及時告知營運進行擴容,謝謝!">$report

echo >>$report
hadoop dfsadmin -report|head -n 11 >>$report

echo ---------------------- >>$report
echo dfs used details: >>$report
hadoop fs -du / >>$report
echo >>$report
hadoop fs -du /user >>$report


dfs_used_percent=`cat $report|grep "DFS Used%"|awk -F: '{print $2}'`
dfs_used=`echo ${dfs_used_percent}|awk -F% '{print $1}'`


# 百分百小數比較
#expr ${dfs_used} \>\= 80

user=laijingli2006@126.com
title=`echo "${today}[${dfs_used_percent}] WBY Hadoop Cluster Hdfs Useage Report: dfs_used ${dfs_used_percent}"`
echo $title


if [ $(expr ${dfs_used} \>\= 80) = 1 ];then
echo dfs_used 80
#cat $report|mail -s "Critical: $title" $user
cat $report|/usr/bin/mutt -s "Critical: $title" $user

elif [ $(expr ${dfs_used} \>\= 70) = 1 ];then
echo 70
#cat $report|mail -s "Warning: $title" $user
cat $report|/usr/bin/mutt -s "Warning: $title" $user

else
echo 60
#cat $report|mail -s "Normal: $title" $user
#cat $report|/usr/bin/mutt -s "Normal: $title" $user
fi

#cat $report|mail -s $today DfsReport: dfs_used ${dfs_used_percent} 362560701@qq.com



crontab執行效果還不錯:

[hdfs@hanagios48 root]$ crontab -l
05 8 * * * /home/hdfs/dfsadmin_report.sh

[hdfs@hanagios48 root]$ more /tmp/report
Hi,各位叢集使用者
當Hadoop叢集空間使用量達到70%時,各位將會收到Warning郵件,提示清理空間;
當Hadoop叢集空間使用量到達80%時,各位將會收到Critical郵件,提示清理空間;
為保證叢集資料安全,預留down機冗餘空間,請各位務必清理,如因資料量確實巨大,叢集無法容納,請及時告知營運進行擴容,謝謝!


Configured Capacity: 124854950621184 (113.55 TB)
Present Capacity: 118317151626783 (107.61 TB)
DFS Remaining: 38704545865728 (35.2 TB)
DFS Used: 79612605761055 (72.41 TB)
DFS Used%: 67.29%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0


-------------------------------------------------
Datanodes available: 15 (15 total, 0 dead)
----------------------
dfs used details:
Found 6 items
0 hdfs://hamaster140:9000/benchmarks
125752 hdfs://hamaster140:9000/data0
0 hdfs://hamaster140:9000/system
13721821810608 hdfs://hamaster140:9000/tech
1803375805154 hdfs://hamaster140:9000/tmp
6411197575455 hdfs://hamaster140:9000/user

Found 14 items
33222938 hdfs://hamaster140:9000/user/azk
4072247213805 hdfs://hamaster140:9000/user/cla
40705761240 hdfs://hamaster140:9000/user/din
0 hdfs://hamaster140:9000/user/fea
0 hdfs://hamaster140:9000/user/gao
36454169547 hdfs://hamaster140:9000/user/gmz
1877816487439 hdfs://hamaster140:9000/user/hdf
148965233376 hdfs://hamaster140:9000/user/imp
2416017438 hdfs://hamaster140:9000/user/in
0 hdfs://hamaster140:9000/user/lin
0 hdfs://hamaster140:9000/user/luo
149973222708 hdfs://hamaster140:9000/user/shi
82586246964 hdfs://hamaster140:9000/user/wuy
0 hdfs://hamaster140:9000/user/zho

[hdfs@hanagios48 root]$

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.