我的目標是在我們的Hadoop集羣上運行應用程序,而無需將顯式配置放入每個應用程序。因此,我試圖將羣集的配置放入ENV變量並將它們傳播到羣集中的每個節點。在分佈式Hadoop集羣中使用ENV變量
比如我定義:
export HIVE2_JDBC_URL=jdbc:hive2://localhost:10000
到以後使用這樣的:
beeline -u $HIVE2_JDBC_URL/<db_name> -e "SELECT * FROM <table_name>;"
儘管這適用於這一特定用例(在CLI)它有兩大缺點:
- 我必須手動更新每個節點上的ENV變量變化
- Oozie的工作流無法從ENV變量中讀取
有沒有辦法使用Ambari檢索此設置的方式,我可以定義隨後可在每個節點上自己的自定義設置?在Oozie工作流程中是否有一種方法可行?
感謝您的回答,這是一個非常好的概述。我結束了自動生成屬性文件在我的情況。 –