Hadoop YARN 与 mapreduce

Hadoop YARN vs mapreduce

我已经在我的机器上安装了 Hadoop - 2.6.0 并启动了所有服务。

当我与我的旧版本比较时,这个版本不会启动作业跟踪器和任务跟踪器作业,而是启动节点管理器和资源管理器。

问题:-

  1. 我相信这个版本的 Hadoop 使用 YARN 来 运行 完成作业。我不能再 运行 map reduce 作业了吗?
  2. 我是否应该编写适合 YARN 资源管理器和应用程序管理器的作业。
  3. 是否有我可以提交的示例 Python 作业?
  1. I believe this version of Hadoop uses YARN for running the jobs. Can't I run a map reduce job anymore?

运行 MapReduce 作业仍然可以。 YARN 是 Hadoop 集群的集群计算内部结构的重新架构,但该重新架构保持了 public API 与经典 Hadoop 1.x MapReduce 的兼容性。 Apache Hadoop NextGen MapReduce (YARN) 上的 Apache Hadoop 文档更详细地讨论了重构。文档末尾有相关引用:

MRV2 maintains API compatibility with previous stable release (hadoop-1.x). This means that all Map-Reduce jobs should still run unchanged on top of MRv2 with just a recompile.


  1. Should I write a job thats tailored to fit the YARN resource manager and application manager.

如果您已经习惯于编写 MapReduce 作业或 higher-level 抽象,例如 Pig 脚本和 Hive 查询,那么您作为最终用户不需要更改您正在做的任何事情。 API 上述兼容性意味着所有这些东西都可以继续正常工作。欢迎您编写专门针对 YARN 框架的自定义分布式应用程序,但如果您只想坚持使用 Hadoop 1.x-style 数据处理作业,则不需要这种更高级的用法。如果您对此感兴趣,Apache Hadoop 文档包含有关 Writing YARN Applications 的页面。


  1. Is there a sample Python job that I can submit?

我建议查看 Hadoop Streaming 上的 Apache Hadoop 文档。 Hadoop Streaming 允许您仅基于读取标准输入和写入标准输出来编写 MapReduce 作业。这是一个非常通用的范式,所以它意味着您可以编写几乎任何您想要的代码,包括 Python.

总的来说,听起来您会从浏览 Apache Hadoop 文档站点中获益。那里有很多有用的信息。