大數(shù)據(jù)培訓(xùn)課程單數(shù)據(jù)源多出口案例(Sink組)
單數(shù)據(jù)源多出口案例(Sink組)
單Source、Channel多Sink(負(fù)載均衡)如圖7-3所示。
圖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)需求分析:
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)容
注: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)容
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)容
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
- 使用telnet工具向本機(jī)的44444端口發(fā)送內(nèi)容
$ telnet localhost 44444
- 查看Flume2及Flume3的控制臺打印日志