温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop日志小结

发布时间:2020-07-15 22:22:02 来源:网络 阅读:5349 作者:alexanda2000 栏目:大数据

一、日志分类


  1、进程日志

  进程日志即为hadoop各个守护进程的日志,例如ResourceManager、NodeManager、NameNode、DataNode等守护进程。集群启动或者运行期间出现异常,首先应该查看进程日志,它是系统排障的重要工具。默认位置为${HADOOP_HOME}/logs。可以在mapred-env.sh和yarn-env.sh中分别指定HADOOP_MAPRED_LOG_DIR和YARN_LOG_DIR变量来改变默认位置。

  进程日志是滚动记录的,当日志达到指定大小之后,会滚动写入下一个文件。可以在$HADOOP_HOME/etc/hadoop/log4j.properties中对文件大小、保留个数等进行相应设置。


  2、作业日志

  作业日志记录了作业运行的整体情况,以及该作业的计数器统计信息。比如作业一共有多少个map,多少个reduce,分别在什么时候哪个节点启动,各个map进行了多少文件读写、占用了多少CPU时间等等。作业日志在系统监控和调优方面有重要作用。


  3、Container日志

  Container日志是hadoop各个container记录的日志,其中会包含错误或失败的重要信息。如果没有打开日志聚合,默认是分布在各个nodemanager节点上的。如果打开了日志聚合选项,则会统一放在集中的位置(比如HDFS上)。Container日志会记录作业运行时会发生的各种运行时信息和错误,对于调试和调优有很大的帮助。


  二、作业日志位置的移动

  作业日志记录的是作业的整体情况,而且会随着作业执行的阶段变化而改变。


  1、作业启动后,hadoop会将作业日志放在${yarn.app.mapreduce.am.staging-dir}/${user}/.staging/{$job_ID}目录。其中:

  yarn.app.mapreduce.am.staging-dir在yarn-site.xml中指定,默认是/tmp/hadoop-yarn/staging

  ${user}是运行作业的用户

  例如:grid用户发起一个mr作业,job_id为job_1483969906296_0002,在其运行没有结束时,作业的日志会放在/tmp/hadoop-yarn/staging/grid/.staging/job_1483969906296_0002目录中。

Hadoop日志小结


  2、作业完成后,作业日志会被移到${mapreduce.jobhistory.intermediate-done-dir}/${user},其中${mapreduce.jobhistory.intermediate-done-dir}可以在mapred-site.xml中配置,默认值是${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate


  3、第2步的这个新地址只是个临时的中转站,hadoop会定时将这个目录中的日志转移到永久地址:${mapreduce.jobhistory.done-dir}/${year}/${month}/${day}/000000目录中。其中的000000应该会发生变化,暂时未确定代表何种变量,以后确认后再补充。

Hadoop日志小结

  三、其它补充


  1、作业日志中的jhist文件为json格式,保存了作业的主要信息

  2、如果需要查看container日志,最好打开日志聚合(在yarn-site.xml中配置yarn.log-aggregation-enable为true),可以使用yarn logs -applicationId <application_id>查看完整的container日志。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI