2017-09-15 102 views
0

我們正在Oozie中開發許多不同的工作流程。我們使用3種環境,DEV,PRE和PRO。將Cloudera中Oozie工作流的外部屬性

我想要做的是在所有3個環境中保留相同的workflow.xml文件,並且只能從Cloudera環境讀取數據庫連接,URL,身份驗證等屬性。通過這種方式,可以對文件進行版本控制並輕鬆部署。可能嗎?

使用谷歌搜索,我看到可能config-default.xml將是一個默認屬性值的地方,但我在我們的Cloudera 5.10中找不到任何東西。我們使用Hue來設計工作流程,儘管我們可以用其他方式來定義WF。

謝謝!

回答

1

您可以使用作業屬性來實現此目的。

oozie job -oozie http://localhost:11000/oozie -config dev.properties -run 

如果您在dev.properties文件中設置一個屬性爲queueName=devqueue,你可以參考它在workflow.xml爲${queueName}

請注意,作業屬性文件是本地文件,不HDFS。您可以在https://oozie.apache.org/docs/4.0.0/DG_Examples.html中獲得更多詳細信息。

+0

嗨嵐,謝謝你的回覆。 問題是我們的客戶想要有像Hue這樣的圖形界面,所以他們可以控制(包括啓動)Datalake中的任何作業。 也許我們可以在WF的工作區中編輯外部的job.properties?實際上,我試圖編輯文件的內容,但Hue忽略了新值 - 提交時,會打開一個彈出窗口,其中所有值的值都保持不變。也許我做錯了什麼? – elkarel