shell脚本自动检查hdfs集群各数据节点的磁盘空间使用率[附代码]

来源:互联网 发布:西部世界好看吗 知乎 编辑:程序博客网 时间:2024/06/05 09:13

    在我上一篇文章《HDFS执行负载均衡时的threads quota is exceeded;浅谈HDFS的balancer(附代码)》是讲了为何要进行各个data node之间的数据迁移以实现负载均衡,也讲了如何执行负载均衡,并附了一个半自动脚本。

    这一篇文章主要是用脚本实现自动检测各个data node之间的数据负载情况,若发现各个数据节点的负载差异达到了我们预先设定的临界值(例如10%),就执行rebalancer.  以下是自动检测脚本的使用介绍。


【自动检测脚本的功能】
HDFS各数据节点DFS使用率自动检测,
若检测到各个节点与平均DFS使用率相差超过10%,
则手动运行rebalancer.sh脚本,执行数据节点之间的数据负载均衡


【脚本说明】

auto_inspecting_usage.sh# 检测各个数据节点之间的使用率差额

max_avg_diff.py # 求最大使用率与平均使用率的差

avg_min_diff.py # 求平均使用率与最小使用率的差

rebalancer.sh # 真正发挥data node间的数据迁移、负载均衡


【脚本的使用流程】
【1】在每个数据节点上都放置同样的脚本,以便任意数据节点都可以运行脚本

【2】确保登录用户有权限执行所有脚本,该改权限的就改权限

【3】先运行auto_inspecting_usage.sh 若发现超过临界值(阈值)那么选择资源最宽松的data node去运行rebalancer.sh

【4】登入资源最宽松的数据节点,再执行rebalancer.sh

【5】如果你想查看我的代码,可在你本地电脑上选定一个文件夹,在git bash命令行下载即可:

      git clone https://github.com/tonykidkid/MapReduceBackupCodes.git

原创粉丝点击