我当时使用的是Oozie 4.2.0(hdp2.6),现在正在尝试使用Oozie 4.3.1(hdp 3.0)。
一个主要区别是,一个Java动作过去可以从本地文件系统读取其jar,但似乎不再可行。 Java动作是基本的:
<java xmlns="uri:oozie:workflow:0.5">
<job-tracker>http://something.local:8050</job-tracker>
<name-node>hdfs://HdfsNameService</name-node>
<main-class>io.JsonPoster</main-class>
<file>file:///opt/jsonposter/jsonposter.jar</file>
</java>
我得到的错误很清楚:
org.apache.oozie.action.ActionExecutorException: UnsupportedOperationException: Accessing local file system is not allowed
我知道我可以将jar放在hdfs上,暂时不尝试这样做(因为它曾经可以工作,并且我们所有的部署都通过rpm完成)。我准备承担使所有jar在所有datanode上同步的责任。
我已经将oozie.service.HadoopAccessorService.supported.filesystems
设置为*
,但无效。
有没有办法告诉Oozie是的,我很高兴读取本地FS?