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

Ссылка:

Другие вопросы по тегам