Hadoop、Oozie 中作业、应用程序、任务、任务尝试日志之间的区别

Difference between job, application, task, task attempt logs in Hadoop, Oozie

我是 运行 一个包含多项操作的 Oozie 作业,但有一部分我无法让它工作。在故障排除过程中,我被大量日志淹没了。

在 YARN UI 中(yarn.resourceman­ager.webapp.address 在 yarn-site.xml 中,通常在端口 8088 上),有 application_<app_id> 日志。

在作业历史记录服务器(yarn.log.server.url in yarn-site.xml,我们的端口 19888)中,有 job_<job_id> 日志。 (这些工作日志也应该显示在 Hue 的工作浏览器上,对吧?)

在 Hue 的 Oozie 工作流编辑器中,有 tasktask_attempt(不确定它们是否相同,对我来说一切都是一团糟),它重定向到工作浏览器,如果你点击这里和那里。

有人可以从 Hadoop/Oozie 体系结构的角度解释这些东西之间的区别吗?

P.S。 我也在日志 container_<container_id> 中看到过。不妨将此包含在您对上述内容的解释中。

就 YARN 而言,集群上 运行 的程序称为应用程序。就 MapReduce 而言,它们被称为作业。因此,如果您在 YARN 上 运行ning MapReduce,作业和应用程序是同一件事(如果您仔细观察,作业 ID 和应用程序 ID 是相同的)。

MapReduce 作业由多个任务组成(它们可以是 map 或 reduce 任务)。如果任务失败,它会在另一个节点上再次启动。这些是任务尝试。

容器是一个 YARN 术语。这是资源分配的单位。例如,MapReduce 任务将 运行 在单个容器中。