HDFS 常见的运维技巧汇总

前言

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见大数据技术体系


正文

Hadoop 是一个大型的分布式系统,在实际运行中不免会出现一些问题,这些都增加了 Hadoop 运维的难度。

下面汇总一些常见的 Hadoop 运维技巧(不定期更新)。


查看日志

日志是 Hadoop 运维最重要的依据,无论遇到什么异常情况,通常首先做的就是查看日志。

下面介绍日志的存放路径。

  • NameNode 当天日志路径:$HADOOP_HOME/logs/hadoop-hadoop-namenode-master.log。
  • ResourceManager 当天日志路径:$HADOOP_HOME/logs/hadoop-hadoop-resourcemanager-master.log
  • DataNode 当天日志路径:$HADOOP_HOME/logs/hadoop-hadoop-datanode-slave1.log。
  • NodeManager 当天日志路径:$HADOOP_HOME/logs/hadoop-hadoop-nodemanager-slave1.log。

我们可以通过直接查看日志文件的方式查看日志,也可以通过 tail -f 的命令实时地查看更新的日志,在有些情况下,第二种方法显得非常有效。


清理临时文件

很多时候,由于对集群的操作太频繁,或是日志输出不太合理时,日志文件或者是临时文件可能变得十分巨大,影响正常HDFS的存储,可以视情况定期清理。

  • HDFS的临时文件路径:/export/hadoop/tmp/mapred/staging
  • 本地临时文件路径:${mapred.local.dir}/mapred/userlogs

定期执行数据均衡脚本

导致 HDFS 数据不均衡的原因有很多种,如新增一个 DataNode、快速删除 HDFS 上的大量文件、计算任务分布不均匀等。

数据不均衡会降低 MapReduce 计算本地化的可能,降低作业执行效率。

当察觉到了数据不均衡的情况后,可以通过执行 Hadoop 自带的均衡器脚本来重新平衡整个集群,脚本的路径为 $HADOOP_HOME/bin/start-balancer.sh。

需要注意的是,在执行脚本时,网络带宽会被大量地消耗,这时如果有作业正在运行,作业的执行将会变得非常缓慢。

我们可以通过 dfs.balance.bandwidthPerSec 来设置传输速率。

在均衡器执行的时候,可以随时中断,不会影响数据的完整性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值