hadoop定时执行du -sk导致磁盘IO过高,如何解决?

近期执行job时容易失败,查看服务器的时候发现在执行
du -sk /bigdata/hdfs/dn/current/BP-449914029-11.11.11.21-1522055433405
每秒大概4M左右,持续小时,导致正常的任务无法完成

考虑通过将原有的du命令替换,并基于df命令来编写一个新的du命令来取而代之。
[root@idc1-server2 ~]# mv /usr/bin/du /usr/bin/du.orig
[root@idc1-server2 ~]# vim /usr/bin/du
1 #!/bin/sh
2
3 mydf=$(df -Pk $2 | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $3 }')
4 echo -e "$mydf\t$2"
[root@idc1-server2 ~]# chmod +x /usr/bin/du
不过这样的话,统计出来的结果不就不准确了吗?
但具体情况具体应对,一般来说,Hadoop的datanode都会采用不同的磁盘并划分分区来存储数据,那么使用df统计出来的结果,误差应该是很小的。
温馨提示:答案为网友推荐,仅供参考