提交 hadoop-streaming 作业:yarn 还是 hadoop?
submitting hadoop-streaming jobs: yarn or hadoop?
使用 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
如果这两个命令是等价的(我认为它们是等价的),那是首选,为什么?
如果您的 MapReduce 框架是 YARN,它们是相等的。如果没有,hadoop jar
将 运行 你的带有 MRv1 的 jar 文件,yarn jar
将 运行 你的 YARN(MRv2) 的 jar 文件。
使用 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
如果这两个命令是等价的(我认为它们是等价的),那是首选,为什么?
如果您的 MapReduce 框架是 YARN,它们是相等的。如果没有,hadoop jar
将 运行 你的带有 MRv1 的 jar 文件,yarn jar
将 运行 你的 YARN(MRv2) 的 jar 文件。