我是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)
可以帮我解决上述问题吗?
谢谢。