当我从oozie使用shell时,没有这样的文件或目录错误

时间:2018-05-05 13:21:49

标签: shell hadoop oozie oozie-workflow

我正在尝试从oozie运行shell脚本,当我在shell脚本中使用hadoop命令时,它工作正常但是当我尝试运行本地命令时,我没有得到这样的文件或目录异常。 例如:

sample.sh
touch /HDFS/user/123/test.txt

当我使用NFS路径或本地路径时,此脚本正在运行 “没有这样的文件或目录”例外, 例如:

$ ng test --source-map ng-app-state
Architect commands with multiple targets cannot specify overrides.'test' would be run on the following projects: ng-app-state-monorepo,ng-app-state
Error: Architect commands with multiple targets cannot specify overrides.'test' would be run on the following projects: ng-app-state-monorepo,ng-app-state
    at TestCommand.validate (S:\Programming\git repositories\ng-app-state-monorepo\node_modules\@angular\cli\models\architect-command.js:91:23)

有什么我想念的,请告诉我,'/ HDFS'是NFS路径。

1 个答案:

答案 0 :(得分:0)

Oozie服务器将执行所有Oozie工作流程,因此如果您已在Oozie服务器中创建了目录/HDFS/user/123,它将起作用。

因此,使其工作的解决方案是配置NFS以使用(附加)Oozie服务器。

<强>更新

在澄清了我自己的一些未知之后,我上面提到的并不完全正确。这是我更新的答案:

当您(客户端)通过YARN提交Oozie作业时,它会转到ResourceManager,然后协商并将其路由到任何NodeManager,因此为了您的工作,您必须配置NFS挂载在所有NodeManager上正常工作。