加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

Hadoop替换du命令降低datanode磁盘IO

发布时间:2022-06-17 18:25:09 所属栏目:教程 来源:互联网
导读:Hadoop是一个比较好用的分布式系统基础架构了,下面我们来到各位介绍Hadoop更换du命令降低datanode磁盘IO例子,希望对各位带来帮助. 任何可以降低磁盘IO消耗的手段,我们都可以尝试一下,比如,我们经常可以看到hdfs用户在执行du -sk命令: [root@idc1-server2 ~
  Hadoop是一个比较好用的分布式系统基础架构了,下面我们来到各位介绍Hadoop更换du命令降低datanode磁盘IO例子,希望对各位带来帮助.
 
  任何可以降低磁盘IO消耗的手段,我们都可以尝试一下,比如,我们经常可以看到hdfs用户在执行"du -sk"命令:
 
  [root@idc1-server2 ~]# ps -ef| grep "du -sk"
  hdfs     17119 10336  1 00:57 ?        00:00:04 du -sk /data1/dfs/dn/current/BP-1281416642-10.100.1.2-1407274717062
  hdfs     17142 10336  1 00:57 ?        00:00:03 du -sk /data5/dfs/dn/current/BP-1281416642-10.100.1.2-1407274717062
  hdfs     17151 10336  1 00:57 ?        00:00:05 du -sk /data6/dfs/dn/current/BP-1281416642-10.100.1.2-1407274717062
  ...  //phpfensi.com
  随着datanode上的数据不断增加,这样频繁的du操作,会耗时比较长,在CPU和磁盘IO很闲的时候,每次也都会耗时5秒左右,而在服务器负载比较高的时候,这样的操作就会耗时很长时间.
 
  于是,我们便考虑通过将原有的du命令替换,并基于df命令来编写一个新的du命令来取而代之,代码如下:
 
  [root@idc1-server2 ~]# mv /usr/bin/du /usr/bin/du.orig
  [root@idc1-server2 ~]# vim /usr/bin/du
  #!/bin/sh
  mydf=$(df -Pk $2 | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $3 }')
  echo -e "$mydft$2"
  [root@idc1-server2 ~]# chmod +x /usr/bin/du
  不过这样的话,统计出来的结果不就不准确了吗?
 
  但具体情况具体应对,一般来说,Hadoop的datanode都会采用不同的磁盘并划分分区来存储数据,那么使用df统计出来的结果,误差应该是很小的.
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读