0462-如何在Hue中創建Shell Action工作流續

溫馨提示:如果使用電腦查看圖片不清晰,可以使用手機打開文章單擊文中的圖片放大查看高清原圖。

Fayson的github: https://github.com/fayson/cdhproject

提示:代碼塊部分可以左右滑動查看噢

感謝羣友Beetes提出的問題。

1

文檔編寫目的

Fayson在前面的文章《Hue中使用Oozie創建Shell工作流在腳本中切換不同用戶》,裏面介紹了Shell Action的創建,在文中我們相應的Shell腳本是放在每個Oozie作業對應的WorkSpace的lib目錄下。對於一些對於所有用於都公用的Shell腳本可能放在HDFS的公共目錄下,那這時創建Shell Action需要注意些什麼呢?本篇文章Fayson主要介紹在Hue中創建Shell Action指定工作空間外的Shell腳本。

  • 測試環境

1.RedHat7.2

2.CM和CDH版本爲5.15.0

2

測試環境準備

1.準備測試用的Shell腳本,內容如下:

#!/bin/bash

cd ~
ls

2.將準備好的Shell腳本put到HDFS上

[root@cdh2 disk1]# hadoop fs -mkdir -p /oozie/common/shell
[root@cdh2 disk1]# hadoop fs -put test.sh /oozie/common/shell
[root@cdh2 disk1]# hadoop fs -ls /oozie/common/shell

(可左右滑動)

3

Hue創建Shell Action

1.登錄Hue進入WorkFlow創建界面

2.點擊“Add”添加Shell腳本的名稱,在Shell Action中指定FILES參數

3.選擇test.sh腳本在HDFS上存儲的公共路徑

到此完成了Shell Action工作流的創建,保存運行吧。

4

測試運行

1.點擊右上角的運行圖標

2.運行結果顯示如下:

5

總結

1.Hue中創建的Oozie WorkFlow默認所有第三方依賴(如: jar、lib及可執行文件等),運行時會默認會找當前WorkFlow的WorkSpace的lib目錄下獲取。這也是前面Fayson將shell腳本上傳至lib目錄下作業運行時沒有報錯的原因。

2.在指定的第三方依賴不在WorkSpace的lib目錄下存在時,需要使用FILES參數來進行設置,指定依賴的文件或包所在目錄。

3.當然這裏將Shell腳本放在HDFS的公共目錄頁需要考慮這些腳本的訪問權限,如果執行用戶對該腳本沒有讀取的權限,同樣會導致你的WorkFlow運行失敗。

提示:代碼塊部分可以左右滑動查看噢

爲天地立心,爲生民立命,爲往聖繼絕學,爲萬世開太平。 溫馨提示:如果使用電腦查看圖片不清晰,可以使用手機打開文章單擊文中的圖片放大查看高清原圖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章