一、Flume 核心组件
一个Flume处理组件组成成为Agent
1)Soucrce
用来收集数据,是数据的来源,
2)Channel
用来暂时缓存数据,可以是在内存中、文件中等
3)Sink
数据要推送的目的地 ,从Channel中读取数据写入目的地。
二、设置多个Flume
1)串行方式
串行Flume2)并行方式
方式一:多个Source聚合到一个Sink中 方式二:多个Sink来接收数据根据生产环境需要将一个或者多个Flume进行连接使用。
event是Flume中数据传输的基本单元。
Flume的使用
主要工作是配置配置文件
A)配置Source
B)配置Channel
C)配置Sink
D)将以上三个组件串起来
官网example
Flume提交命令
$ bin/flume-ng agent \
--conf conf \
--conf-file example.conf \
--name a1 \
-Dflume.root.logger=INFO,console
agent参数代表将运行一个Flume agent(包括Source、Channel、Sink组件)
--conf 指定conf配置文件所在的文件夹路径
--conf-file 指定该agent具体的一个配置信息,每个agent对应一个该类型文件
--name 指定该agent的名字,该命名在conf文件中指代该agent
-Dflume.root.logger=INFO,console -D为JVM配置信息,将日志信息打印在控制台
Flume 实战样例
两个agent相连该例中有两个flume agent,分别在两个节点上,可对应于一个数据产生节点和一个下游数据获取节点,其中A中的Source来自数据源本身,Sink对应于B中的Source,并且采用avro数据序列化系统传输。B接收到A中的数据以后可根据需求设置Sink将数据进一步输出到指定的位置。
网友评论