我的目标是在我们的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工作流程中是否有一种方法可行?
感谢您的回答,这是一个非常好的概述。我结束了自动生成属性文件在我的情况。 –