Получение переменных в flume.conf
У меня есть агент flume, объявленный в файле flume.con. Источник - RabbitMQ, хотя это не так актуально. Дело в том, что мне нужно вынести оттуда учетные данные в другой файл. Я видел, что способ сделать это в flume-env.sh, где я положил это:
export RABBIT_USER=user1
И в файле flume.conf я пытаюсь получить значение следующим образом:
agent1.sources.rabbitmq-source1.user = $RABBIT_USER
Но когда я запускаю агент, переменная не заменяется ее значением, предварительно установленным в flume-env.sh, и, следовательно, агент не подключается к Rabbit.
export RABBIT_USER=user1
предложение работает, так как, если я выведу переменную в сценарии flume-ng, значение user1 появится на консоли правильно.
Я пробовал несколько способов получить доступ к переменной из flume.con
с фигурными скобками, $ в фигурных скобках, $ out....
Ни за что.
Есть ли способ получить переменные внутри flume.conf правильно? Я сделал много тестов и исследований в Интернете безрезультатно.
заранее спасибо
1 ответ
Поддержка переменных среды добавлена в версии 1.8. Но для этого требуется настроить специальное свойство, запускающее экземпляр агента.
flume-ng agent --conf conf/ -f ./conf/flume.conf -n a1 -DpropertiesImplementation=org.apache.flume.node.EnvVarResolverProperties
Ссылка: