配置水槽的正常方法是通过flume主Web控制台,这里很容易讨论它。
OR
通过交互式水槽外壳控制台,请按照以下步骤操作:
1. $ flume shell //this brings you to the interactive flume shell console
2. in the interactive console,connect flume-master-node // this connects you to flume-master
3. in the interactive console, run "exec unconfig your_node" // this unconfig all flume configuration
4. in the interactive console, run "exec config your_node new_config" // apply new flume configuration
5. quit // exit the the interactive console
到目前为止一切顺利。
然后我正在尝试为我的水槽配置编写一个bash脚本。 所以我想将1,2,3,4,5压缩成一个bash,它每次都会自动运行而不需要干预,如下所示:
/usr/bin/flume shell << EOF #line1
connect $FLUME_MASTER #line2
exec unconfig your_node #line3
exec config your_node new_config #line4
quit #line5
EOF #line6
但每次我运行这个bash脚本时,它总是停在#line1 并带我进入交互式水槽外壳控制台,而不是在非迭代模式下运行它。
有人知道如何忽略交互模式并且只是轻松地运行它吗?
答案 0 :(得分:1)
尝试-q
的{{1}}选项,看看是否有帮助。
答案 1 :(得分:1)
以某种方式遵循了用户指南flume/UserGuide_using_the_flume_command_shell:
echo "connect localhost:35873\ngetconfigs\nquit" | flume shell -q
如果你把它放在一个bash脚本中,这不起作用。但是通过这样做我得到了它:
/usr/bin/flume shell -q << EOF
connect localhost:35873
getconfigs
quit
EOF