我正在使用CDH5.4
。我正在运行一个hadoop作业,从命令行看起来没问题(只需用hadoop jar
运行)。但是,如果我从yarn
运行它,它会使用单个映射器静默完成,而不是使用reducer。我真的怀疑两个'运行'都运行相同的命令。但是,我想确定一下。所以我看一下日志:
(注意它是一个带有自定义运行器的scalding
作业 - 当我从命令行运行它时一切正常。)
/container_1432733015407_0953_01_000001/container_1432733015407_0953_01_000001/user/stdout/?start=0
我看到了类似的东西:
Main class : org.apache.oozie.action.hadoop.JavaMain
Maximum output : 2048
Arguments :
-D
oneparam=value
-D
secondparam=value
所以我把它们变成了命令行。
并使用类似
的方式运行它 hadoop jar MyScaldingRunner -D oneparam=value -D secondparam=value
它运行得很好并产生了结果。
我可以通过hadoop jar
+ oozie
查看hadoop正在运行的SAME EXACT yarn
命令行来运行吗?因为从那边它只是默默地完成!
答案 0 :(得分:1)
我没有直接回答您的问题,但JDiagnostics可以帮助您重新创建所需的参数,例如类路径或环境变量。这是一个example,您可以在运行之前放入程序的开头:
LOG.info(new DefaultQuery().call())