大数据培训课程单数据源多出口案例(Sink组)

单数据源多出口案例(Sink组)

单Source、Channel多Sink(负载均衡)如图7-3所示。

大数据培训课程

图7-3 单Source、Channel多Sink

1)案例需求:使用Flume-1监控文件变动,Flume-1将变动内容传递给Flume-2,Flume-2负责存储到HDFS。同时Flume-1将变动内容传递给Flume-3,Flume-3也负责存储到HDFS

2)需求分析:

大数据培训课程

3)实现步骤:

0.准备工作

       在/opt/module/flume/job目录下创建group2文件夹

[atguigu@hadoop102 job]$ cd group2/

1.创建flume-netcat-flume.conf

配置1个接收日志文件的source和1个channel、两个sink,分别输送给flume-flume-console1和flume-flume-console2。

创建配置文件并打开

[atguigu@hadoop102 group2]$ touch flume-netcat-flume.conf

[atguigu@hadoop102 group2]$ vim flume-netcat-flume.conf

添加如下内容

大数据培训课程

注:Avro是由Hadoop创始人Doug Cutting创建的一种语言无关的数据序列化和RPC框架。

注:RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

2.创建flume-flume-console1.conf

配置上级Flume输出的Source,输出是到本地控制台。

创建配置文件并打开

[atguigu@hadoop102 group2]$ touch flume-flume-console1.conf

[atguigu@hadoop102 group2]$ vim flume-flume-console1.conf

添加如下内容

大数据培训课程

3.创建flume-flume-console2.conf

配置上级Flume输出的Source,输出是到本地控制台。

创建配置文件并打开

[atguigu@hadoop102 group2]$ touch flume-flume-console2.conf

[atguigu@hadoop102 group2]$ vim flume-flume-console2.conf

添加如下内容

大数据培训技术

4.执行配置文件

分别开启对应配置文件:flume-flume-console2,flume-flume-console1,flume-netcat-flume。

[atguigu@hadoop102 flume]$ bin/flume-ng agent --conf conf/ --name a3 --conf-file job/group2/flume-flume-console2.conf -Dflume.root.logger=INFO,console

 

[atguigu@hadoop102 flume]$ bin/flume-ng agent --conf conf/ --name a2 --conf-file job/group2/flume-flume-console1.conf -Dflume.root.logger=INFO,console

 

[atguigu@hadoop102 flume]$ bin/flume-ng agent --conf conf/ --name a1 --conf-file job/group2/flume-netcat-flume.conf

  1. 使用telnet工具向本机的44444端口发送内容

$ telnet localhost 44444

  1. 查看Flume2及Flume3的控制台打印日志