如何找到运行我的作业的确切hadoop jar命令?
我使用的是如何找到运行我的作业的确切hadoop jar命令?,hadoop,yarn,oozie,cascading,scalding,Hadoop,Yarn,Oozie,Cascading,Scalding,我使用的是CDH5.4。我正在运行一个hadoop作业,它从命令行看起来是正常的(当使用hadoop jar运行时)。但是,如果我从纱线运行它,它将以一个映射器而不是还原器安静地结束。我真的怀疑两次“运行”运行的是同一个命令。然而,我想确定这一点。因此,我查看以下位置的日志: (请注意,这是一个使用自定义runner的烫手的作业-当我从命令行运行它时,一切都很好) /container\u 1432733015407\u 0953\u 01\u000001/container\u 1432733
CDH5.4
。我正在运行一个hadoop作业,它从命令行看起来是正常的(当使用hadoop jar
运行时)。但是,如果我从纱线运行它,它将以一个映射器而不是还原器安静地结束。我真的怀疑两次“运行”运行的是同一个命令。然而,我想确定这一点。因此,我查看以下位置的日志:
(请注意,这是一个使用自定义runner的烫手的作业-当我从命令行运行它时,一切都很好)
/container\u 1432733015407\u 0953\u 01\u000001/container\u 1432733015407\u 0953\u 01\u000001/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
+warn
运行的同一个hadoop jar
命令行?因为从那里它就悄悄地结束了我无法直接回答您的问题,但可以帮助您重新创建所需的参数,如类路径或环境变量。在运行程序之前,您可以在程序的开头添加以下内容:
LOG.info(new DefaultQuery().call())