查找并将Hadoop日志设置为详细级别

时间:2016-07-07 10:02:59

标签: hadoop bigdata

我需要跟踪运行作业或将文件上传到HDFS时发生的情况。我在sql server中使用sql profiler执行此操作。但是,我想念hadoop这样的工具,所以我假设我可以从logs获得一些信息。我的所有日​​志都存储在/ var / logs / hadoop /但是我对我需要查看的文件以及如何设置该文件来捕获详细的级别信息感到困惑。

我正在使用HDP2.2。

谢谢, Sree

1 个答案:

答案 0 :(得分:0)

' Hadoop的'代表了不同产品的整个生态系统。每个人都有自己的记录。

  • HDFS由NameNode和DataNode服务组成。每个都有自己的日志。日志的位置取决于分发。有关Hortonworks的信息,请参见File Locations;有关Cloudera,请参阅Apache Hadoop Log Files: Where to find them in CDH, and what info they contain
  • 在Hadoop 2.2中,MapReduce(' jobs')是YARN中的一个特定应用程序,所以你在谈论ResourceManager和NodeManager服务(YARN组件),每个服务都有自己的日志,然后有MRApplication(M / R组件),它是一个YARN应用程序,但它有自己的日志。
  • 乔布斯由tak组成,任务本身也有自己的日志。
  • 在Hadoop 2中,有一个专用的作业历史服务,其任务是收集和存储已执行作业的日志。
  • 更高级别的组件(例如,Hive,Pig,Kafka)有自己的日志,从他们提交的作业(按照任何作业进行记录)的日志中进行协助。

好消息是供应商特定的分发(Cloudera,Hortonworks等)将提供一些特定的UI来公开最常见的日志以便于访问。通常,它们会从显示作业状态和作业历史记录的UI中公开JobHistory服务收集的日志。

我无法指出任何与SQL Profiler等效的内容,因为问题空间的数量级更复杂,涉及许多不同的产品,版本和供应商特定的发行版。我建议首先阅读并了解Job History server如何运行以及如何访问它。