flume的案列測試之收集socket端資料,並顯示到logger端
步驟:
1.在Linux下安裝netcat工具,使用者開啟socket客戶端:
a.切換至root下
$>su root
b.執行安裝命令
$>yum install -y nc
c.切換至Alex_lei使用者下,模擬聊天室:
$>nc
開啟服務端 $>nc -l 55555
開啟客戶端 $>nc localhost 55555
2.建立Agent
編寫agent配置資訊,在{FLUME_HOME/conf}目錄下,新建example.conf,新增以下程式碼:
a1.sources = s1
a1.channels = c1
a1.sinks = k1
#定義agent的source屬性
a1.sources.s1.type = netcat
a1.sources.s1.bind = master
a1.sources.s1.port = 55555
#配置agent的sink屬性
a1.sinks.k1.type = logger
#配置agent的channel的屬性
a1.channels.c1.type = memory
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1 //注意:a1.sinks.k1.channel後不用有s
3.開啟flume程序
$>flume-ng agent --name a1 --conf /home/Alex_lei/soft/flume/conf/ --conf-file /home/hyxy/soft/flume/conf/example.conf -Dflume.root.logger=INFO,consol
4.開啟nc客戶端
$>nc master 55555
hello world
zhang san
5.結果
在flume的會話視窗中,顯示以下資訊:
Event: { headers:{} body: 68 65 6C 6C 6F 20 77 6F 72 6C 64 hello world }
Event: { headers:{} body: 7A 68 61 6E 67 20 73 61 6E zhang san }
總結:agent包含三個元件為Source,Channel,Sink,分別代表的意思是資料來源,中間管道,起到橋樑的作用,寫到什麼地方。上述Source為Console,Channel預設為memory記憶體,Sink為logger。
若我們要寫到hdfs或者hive,我們可以去flume的官網檢視相關配置檔案的資訊,根據自己的需要選擇,選擇hdfs,我們就去Flume sink下zhaodao hdfs選項檢視相關的配置資訊進行配置就可以。
當然還可以將多個flume串聯進行配置,也可以多個flume並聯最後輸入到一個flume的agent進行寫出,官網具有詳細的配置方案。