0

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

sample.sh
hadoop fs -touchz /user/123/test.txt

这个脚本正在工作,当我使用 NFS 路径或本地路径时,我得到“没有这样的文件或目录”异常,例如:

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

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

4

1 回答 1

0

问题是所有 Oozie 工作流都将由 Oozie 服务器执行,因此如果您/HDFS/user/123已经在 Oozie 服务器中创建了目录,它就会工作。

因此,使其工作的解决方案是将 NFS 配置为与(附加)Oozie 服务器一起工作。

更新

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

当您,客户端,使用 YARN 提交 Oozie 作业时,它会转到 ResourceManager,然后协商并将其路由到任何 NodeManagers,因此要使您的案例正常工作,您必须在所有设备上配置 NFS 挂载NodeManagers 正常工作。

于 2018-05-06T04:36:59.607 回答