2019/2/22 星期五
flume案例支持
flume的部署类型 //参考链接为 https://www.cnblogs.com/qingyunzong/p/8994494.html
1、单一流程
2、多代理流程(多个agent顺序链接) 不推荐 有一段失败则整个event事件失败
3、流的合并(多个Agent的数据汇聚到同一个Agent ) //应用场景广泛
4、多路复用流(多级流)//Flume还支持多级流,什么多级流?来举个例子,当syslog, java, nginx、 tomcat等混合在一起的日志流开始流入一个agent后,可以agent中将混杂的日志流分开,然后给每种日志建立一个自己的传输通道。
5、load balance功能 //Agent1是一个路由节点,负责将Channel暂存的Event均衡到对应的多个Sink组件上,而每个Sink组件分别连接到一个独立的Agent上 。
Flume 作用
Flume 工作机制
Flume 架构、组件
flume 常用配置
Flume Sources 描述
Avro source :Avro是一个数据序列化系统,设计用于支持大 批量数据交换的应用
Avro 可以发送一个给定的文件给Flume,Avro 源使用AVRO RPC 机制。
Thrift Source :ThriftSource 与Avro Source 基本一致。只要把source的类型改成thrift即可,例如a1.sources.r1.type = thrift,比较简单
Exec Source :ExecSource的配置就是设定一个Unix(linux)命令,然后通过这个命令不断输出数据。如果进程退出,Exec Source也一起退出,不会产生进一步的数据。//EXEC 执行一个给定的命令获得输出的源,如果要使用tail 命令,必选使得file 足够大才能看到输出内容。
JMS Source:从JMS系统(消息、主题)中读取数据,
Spooling Directory Source:Spooling Directory Source监测配置的目录下新增的文件,并将文件中的数据读取出来。
其中,Spool Source有2个注意地方,第一个是拷贝到spool目录下的文件不可以再打开编辑,第二个是spool目录下不可包含相应的子目录。这个主要用途作为对日志的准实时监控。
Syslogtcp Source:Syslogtcp 监听TCP 的端口做为数据源
JSONHandler Source:
sink
Hadoop sink :把数据最终存储在hdfs上
File Roll Sink : 在本地文件系统中存储事件。每隔指定时长生成文件保存这段时间内收集到的日志信息。
channel
Replicating Channel Selector:
Flume 支持Fan out 流从一个源到多个通道。有两种模式的Fan out,分别是复制和复用。
在复制的情况下,流的事件被发送到所有的配置通道。
在复用的情况下,事件被发送到可用的渠道中的一个子集。
Fan out 流需要指定源和Fan out 通道的规则。
Memory Channel event保存在Java Heap中。如果允许数据小量丢失,推荐使用
File Channel event保存在本地文件中,可靠性高,但吞吐量低于Memory Channel
JDBC Channel event保存在关系数据中,一般不推荐使用
Flume 入门–几种不同的Sinks https://www.cnblogs.com/itdyb/p/6270893.html
Flume的Source类型 https://www.cnblogs.com/qingyunzong/p/8995554.html
Flume:三种channel比较 https://blog.csdn.net/weixin_38750084/article/details/83059871
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/191754.html