Моя цель — запускать приложения в нашем кластере 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?