python - Hadoop YARN 与 mapreduce

标签 python hadoop mapreduce hadoop-yarn

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

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

问题:-

  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 集群内部集群计算的重新架构,但该重新架构保持了与经典 Hadoop 1.x MapReduce 的公共(public) API 兼容性。关于 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 作业或更高级别的抽象(如 Pig 脚本和 Hive 查询),那么您不需要更改您作为最终用户所做的任何事情。上述 API 兼容性意味着所有这些事情都可以继续正常工作。欢迎您编写专门针对 YARN 框架的自定义分布式应用程序,但这是更高级的用法,如果您只想坚持使用 Hadoop 1.x 样式的数据处理作业,则不需要。 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 文档站点中获益。那里有很多有用的信息。

关于python - Hadoop YARN 与 mapreduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34551789/

相关文章:

mapreduce - Hadoop : how to start my first project

hadoop - Mapreduce:捕获所有作业统计信息

python - 在以日期时间为键的字典中使用 iteritems

python - 写入文件,子进程。调用输出不返回任何内容

java - 添加配置单元 jdbc 依赖项会破坏 Glassfish 部署

java - 在 hadoop 中使用 ImageJ 并获得 awt headless 异常

python - OpenERP 7 中的主细节关系、变量和 XML

python - Python 和 Excel 中 TAN(X) 的错误值

hadoop - pyspark:如何释放资源

google-app-engine - GAE MapReduce 并行性和配额