成都网站建设设计

将想法与焦点和您一起共享

Hadoop日志小结

一、日志分类

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、广安网站维护、网站推广。

  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 查看完整的container日志。


当前标题:Hadoop日志小结
分享URL:http://chengdu.cdxwcx.cn/article/gcgghp.html