Flume采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展。其中,所有agent和collector由master统一管理,这使得系统容易监控和维护,且master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。
1)Agent层:这一层包含了Flume的Agent组件,与需要传输数据的数据源连接在一起
2)Collector:这一层通过多个收集器收集Agent层的数据,然后将这些转发到下一层
3)storage:这一层接收collector层的数据并存储起来