如何找到运行我的作业的确切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())