我使用Oozie來安排非map-reduce hadoop作業。 hadoop作業在oozie中運行,沒有發生任何錯誤。我想使用hadoop作業提交另一個非map-reduce hadoop作業。我怎樣才能做到這一點?如何從另一個hadoop作業提交hadoop作業
1
A
回答
0
在Oozie中,您可以在同一個工作流程中調用另一個操作來調用Muiltiple hadoop作業,只有點需要檢查它應該用不同的操作名稱調用不同的操作。
下面的例子可以幫助
例如:去通過Oozie的,以調用兩個shell腳本,它會做的 1腳本copy.sh將cluster1中執行DistCp使用行動Cluster2中 第二個腳本將執行下載從cluster2複製轉儲到本地位置。 所以工作流會像:
<workflow-app xmlns='uri:oozie:workflow:0.2' name='testworkflowaction'>
<start to='UserVectorUpload'/>
<action name="shellAction_1">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<exec>scipt_copy.sh</exec>
<file>hdfs://cluster2:8020/localtion_of_script_in_cluster/scipt_copy.sh</file>
<capture-output/>
</shell>
<ok to="shellAction_2"/>
<error to="killAction"/>
</action>
<kill name="killAction">
<message>Shell Action Failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shellAction_2">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<exec>scipt_download.sh</exec>
<file>hdfs://cluster2:8020/localtion_of_script_in_cluster/scipt_download.sh</file>
<capture-output/>
</shell>
<ok to="end"/>
<error to="killAction"/>
</action>
<kill name="killAction">
<message>Shell Action Failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
所以通過上面的例子中第一個動作是從clustet1執行script_copy.sh使用DistCp使用到Cluster2中,一旦DistCp使用完成後它將從cluste2下載同當地位置使用得到或copyToLocal函數。
您可以使用的另一個備用選項將單個腳本中的操作和單個操作中的所有操作組合在一起,儘管此步驟對於腳本過程而言並非有用,而且非常複雜。
相關問題
- 1. 提交Hadoop作業
- 2. Hadoop HDInsight .NET SDK API提交作業
- 3. 如何登錄Hadoop作業?
- 4. 如何殺死hadoop作業
- 5. 如何從Web應用程序提交作業到hadoop羣集?
- 6. 從Hadoop作業中提取JobID等
- 7. 如何像其他Linux用戶一樣提交hadoop作業
- 8. 執行Hadoop作業
- 9. Hadoop作業配置
- 10. 如何將多個作業提交到hadoop羣集
- 11. Hadoop。如何從Mapper獲得作業
- 12. Hadoop Streaming作業vs普通作業?
- 13. 如何在作業提交前將jar分發給hadoop
- 14. 如何通過Yarn,Hadoop提交Spark Scala作業
- 15. Hadoop不使用一個節點作業
- 16. 從另一個Java程序運行Hadoop作業
- 17. 從哪裏提交hadoop作業,重要嗎?
- 18. 如何讀取Hadoop Sequentil文件作爲Hadoop作業的輸入?
- 19. 使用hadoop作業的輸出作爲另一個的輸入
- 20. 提取hadoop作業的屬性
- 21. 鏈接多個hadoop作業,無需等待提交
- 22. Hadoop的 - 在作業配置
- 23. 恢復Hadoop作業流程
- 24. 本地hadoop作業的dfs.block.size?
- 25. 未殺死Hadoop作業
- 26. hadoop作業中的org.apache.hadoop.fs.BlockMissingException
- 27. 遠程運行Hadoop作業
- 28. hadoop作業輸出文件
- 29. 運行Hadoop作業的java.lang.OutOfMemoryError
- 30. Hadoop重用作業對象