[英]Unable to run shell script using oozie shell action
我為外殼操作創建了一個oozie工作流程。 下面是簡單的oozie shell動作。 我將Shell腳本放在工作流lib文件夾中。 該shell腳本正在執行以下操作:
1)從s3存儲桶中獲取加密的json並將其放入本地文件夾
2)解密json並將其放在一個hdfs位置。
3)對於aws連接和解密json,它使用一些密鑰,即pem和pub密鑰。
4)我將這些密鑰和shell腳本一起放在lib文件夾中。
<workflow-app xmlns="uri:oozie:workflow:0.5" name="LaborIngestion">
<start to='LaborIngestion'/>
<action name='LaborIngestion'>
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>pullDataS3.sh</exec>
</shell>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>LaborHrExtract workflow failed, error message[${wf:errorMessage(wf:lastErrorNode())}]
</message>
</kill>
<end name="end"/>
</workflow-app>
我面臨的問題是,此工作流在7-8秒內以成功狀態結束,但是正在獲取任何文件。 通常,當我從命令提示符運行此腳本時,大約需要2-3分鍾。 我不確定是否正確放置了解密密鑰和連接密鑰。 如果這是將密鑰放入oozie的正確方法,請提出建議。
此外,我用下面的hadoop命令運行了一個簡單的腳本,並具有相同的工作流程,並且運行良好。
hadoop fs -mkdir / com / kapil / kumar
在您的工作流程之后
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>pullDataS3.sh</exec>
Yow將需要提供HDFS
路徑的shell腳本位置。
然后它應該工作。 像下面這樣
<file>/user/xxxxx/oozie/import/lib/pullDataS3.sh#pullDataS3.sh</file>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.