Oozie Java动作工作流程无法访问Linux中的文件

时间:2018-12-21 05:38:32

标签: java oozie-workflow

我是Oozie的新手,我有一个要求,我需要从MysQL表中获取数据并从Java生成为excel,然后将文件复制到特定路径中的Linux环境。 我创建了一个jar并以

的身份在Linux中运行
hadoop jar xxx.xx.jar xxx.xx.GenereateExcel

那很好,它能够生成excel并能够复制到Linux。

但是,我想使用oozie来自动化它,我编写了Java操作工作流程

<action name="excel-node">
    <java>
        <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <main-class>xxx.xx.GenereateExcel</main-class>
    </java>
    <ok to="end"/>
    <error to="fail"/>
</action>

并在我运行时将所有工作流.xml,lib / xxx.xx.jar复制到HDFS

oozie job -oozie http://xxxx.port/oozie -config xxx.properties -run;

然后,它无法访问Linux文件系统中的文件。

java.io.FileNotFoundException: /home/xxx/xxxx/xxxxx/fileName.xlsx (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)

可以帮我解决上述问题吗?

谢谢。

0 个答案:

没有答案