大數(shù)據(jù)培訓(xùn)課程單數(shù)據(jù)源多出口案例(Sink組)

單數(shù)據(jù)源多出口案例(Sink組)

單Source、Channel多Sink(負(fù)載均衡)如圖7-3所示。

大數(shù)據(jù)培訓(xùn)課程

圖7-3 單Source、Channel多Sink

1)案例需求:使用Flume-1監(jiān)控文件變動,F(xiàn)lume-1將變動內(nèi)容傳遞給Flume-2,F(xiàn)lume-2負(fù)責(zé)存儲到HDFS。同時Flume-1將變動內(nèi)容傳遞給Flume-3,F(xiàn)lume-3也負(fù)責(zé)存儲到HDFS

2)需求分析:

大數(shù)據(jù)培訓(xùn)課程

3)實(shí)現(xiàn)步驟:

0.準(zhǔn)備工作

?????? 在/opt/module/flume/job目錄下創(chuàng)建group2文件夾

[atguigu@hadoop102 job]$ cd group2/

1.創(chuàng)建flume-netcat-flume.conf

配置1個接收日志文件的source和1個channel、兩個sink,分別輸送給flume-flume-console1和flume-flume-console2。

創(chuàng)建配置文件并打開

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

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

添加如下內(nèi)容

大數(shù)據(jù)培訓(xùn)課程

注:Avro是由Hadoop創(chuàng)始人Doug Cutting創(chuàng)建的一種語言無關(guān)的數(shù)據(jù)序列化和RPC框架。

注:RPC(Remote Procedure Call)—遠(yuǎn)程過程調(diào)用,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。

2.創(chuàng)建flume-flume-console1.conf

配置上級Flume輸出的Source,輸出是到本地控制臺。

創(chuàng)建配置文件并打開

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

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

添加如下內(nèi)容

大數(shù)據(jù)培訓(xùn)課程

3.創(chuàng)建flume-flume-console2.conf

配置上級Flume輸出的Source,輸出是到本地控制臺。

創(chuàng)建配置文件并打開

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

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

添加如下內(nèi)容

大數(shù)據(jù)培訓(xùn)技術(shù)

4.執(zhí)行配置文件

分別開啟對應(yīng)配置文件: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工具向本機(jī)的44444端口發(fā)送內(nèi)容

$ telnet localhost 44444

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