Flume在英文中的意思是水道, 但Flume更像可以随意组装的消防水管,下面根据官方文档,展示几种Flow。
1、多个agent顺序连接
可以将多个Agent顺序连接起来,将最初的数据源经过收集,存储到最终的存储系统中。这是最简单的情况,一般情况下,应该控制这种顺序连接,Agent 的数量,因为数据流经的路径变长了,如果不考虑failover(故障转移)的话,出现故障将影响整个Flow上的Agent收集服务。
2、多个Agent的数据汇聚到同一个Agent
这种情况应用的场景比较多,比如要收集Web网站的用户行为日志, Web网站,为了可用性使用的负载集群模式,每个节点都产生用户行为日志,可以为
每个节点,都配置一个Agent来单独收集日志数据,然后多个Agent将数据汇聚到一个Agent上,最终汇聚到用来存储数据的存储系统,列如HDFS上。
3、多级流
Flume还支持多级流,什么多级流?结合在云开发中的应用来举个例子,当syslog, java, nginx、 tomcat等混合在一起的日志流开始流入一个agent后,可以agent中将混杂的日志流分开,然后给每种日志建立一个自己的传输通道。
4、load balance功能
上图Agent是一个路由节点,负责将Channel暂存的Event均衡到对应的多个Sink组件上,而每个Sink组件分别连接到一个独立的Agent上 。