提交hadoop-streaming作业:yarn还是hadoop?

Posted

技术标签:

【中文标题】提交hadoop-streaming作业:yarn还是hadoop?【英文标题】:submitting hadoop-streaming jobs: yarn or hadoop? 【发布时间】:2016-01-11 01:45:23 【问题描述】:

使用yarn jar 命令和使用hadoop jar 命令提交hadoop-streaming 作业有什么区别?

这是来自current documentation:

hadoop jar hadoop-streaming-2.7.1.jar \
  -D mapreduce.job.reduces=2 \
  -input myInputDirs \
  -output myOutputDir \
  -mapper /bin/cat \
  -reducer /usr/bin/wc

但是这个命令也可以用:

yarn jar hadoop-streaming-2.7.1.jar \
  -D mapreduce.job.reduces=2 \
  -input myInputDirs \
  -output myOutputDir \
  -mapper /bin/cat \
  -reducer /usr/bin/wc

如果这两个命令是等价的(我认为它们是等价的),哪个是首选,为什么?

【问题讨论】:

这两种说法没有区别。看看:***.com/questions/25180142/… 【参考方案1】:

如果您的 MapReduce 框架是 YARN,它们是相等的。如果没有,hadoop jar 将使用 MRv1 运行您的 jar 文件,yarn jar 将使用 YARN(MRv2) 运行您的 jar。

【讨论】:

感谢有道理。谢谢。 我以为它会自动切换到 YARN。感谢您指出这一点!

以上是关于提交hadoop-streaming作业:yarn还是hadoop?的主要内容,如果未能解决你的问题,请参考以下文章

通过yarn提交作业到spark,运行一段时间后报错。

Flink 作业提交到 YARN 集群是如何启动的?源码详解!

Yarn工作原理和作业提交过程(图形化通俗易懂)

flink on yarn介绍

flink:第二种模式:多个yarn session模式

大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?