1

配置 Flume 的常规方式是通过 Flume Master Web 控制台,在这里很容易谈论它。

或者

通过交互式水槽 shell 控制台,按照以下步骤操作:

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并把我带到交互式水槽 shell 控制台,而不是在非迭代模式下安静地运行它。

有谁知道如何忽略交互模式并安静地运行它?

4

2 回答 2

1

尝试该-q选项以flume查看是否有帮助。

于 2012-06-01T14:25:51.290 回答
1

不知何故遵循了水槽用户指南水槽/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
于 2012-06-01T15:20:15.513 回答