Oozie-- java:命令未找到 - shell动作

时间:2017-03-09 13:17:53

标签: shell hadoop oozie

我正在通过Oozie从shell脚本运行java程序,我收到以下错误

java: command not found

当我从边缘节点运行shell脚本时,我没有发现任何问题,java类运行没有任何错误,我也得到了所需的输出。但是,oozie作业无法运行java命令。

oozie中的所有其他操作都是正常执行的,但是当遇到java行时,它会抛出上述错误。我知道Hadoop集群中的所有节点都将安装Java,那么为什么我会收到此错误? 下面是我在shell脚本中的java命令

...
...    
java -cp $LOCAL_DIR/libs/integration-tools.jar com.audit.reporting.GenerateExcelReport $LOCAL_DIR/input.txt $LOCAL_DIR/
...

请提供您的想法。

2 个答案:

答案 0 :(得分:0)

"问题已修复"

我后来与DevOps交谈过,发现Java的类路径没有设置在Cluster的几个数据节点中。这会阻止shell操作在这些datanode上调用JVM。 修复类路径后,作业成功运行。 @Charles Duffy提到的所有评论都是有效的。

答案 1 :(得分:-1)

您是否在hdfs位置附带了integration-tools.jar和代码jar? Oozie可以选择任何节点来运行java动作,它会在该位置查找这些jar。