Получение переменных в 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.

с фигурными скобками, $ внутри фигурных скобок, $ снаружи....

Ни за что.

Есть ли способ правильно получить переменные внутри flume.conf? Я сделал много тестов и исследований в Интернете безрезультатно.

заранее спасибо


person josele    schedule 27.08.2015    source источник


Ответы (1)


Поддержка переменных окружения добавлена ​​в версии 1.8. Но для этого требуется настроить специальное свойство, запускающее экземпляр агента.

flume-ng agent  --conf conf/ -f ./conf/flume.conf -n a1  -DpropertiesImplementation=org.apache.flume.node.EnvVarResolverProperties

Ссылка:

person Artem Kupchinskiy    schedule 10.01.2018