大數據培訓課程單數據源多出口案例(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
- 使用telnet工具向本機的44444端口發送內容
$ telnet localhost 44444
- 查看Flume2及Flume3的控制臺打印日志