我在flume.con文件中声明了一个flume代理。 来源是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中正确获取变量? 我在互联网上做了很多测试和调查而没有结果。
提前致谢
答案 0 :(得分:2)
1.8版本中添加了环境变量支持。但它需要设置一个运行代理程序实例的特殊属性
flume-ng agent --conf conf/ -f ./conf/flume.conf -n a1 -DpropertiesImplementation=org.apache.flume.node.EnvVarResolverProperties
参考: