Рабочий процесс oozie java не может получить доступ к файлу в Linux - PullRequest
0 голосов
/ 21 декабря 2018

Я новичок в Oozie, у меня есть требование, где мне нужно получить данные из таблицы MysQL и сгенерировать их как Excel из Java, а затем скопировать файл в среду 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>

и скопировал все файлы workflow.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)

Не могли бы вы, ребята, помочь мне, как преодолеть вышеуказанную проблему.

Заранее спасибо.

...