1. 程式人生 > >Flume採集資料:從指定網路埠和實時監控新增資料

Flume採集資料:從指定網路埠和實時監控新增資料

一、從指定埠採集資料

1.配置flume檔案

建立一個檔案叫ip.conf,自己隨便取的名字。

a1.sources=r1
a1.sinks=k1
a1.channels=c1
#描述和配置source,這裡的a表示agent的名字
#第一步:配置source
a1.sources.r1.type=netcat
a1.sources.r1.bind=192.168.116.10
a1.sources.r1.port=44444
#配置logger
a1.sinks.k1.type=logger
#配置channel
a1.channels.c1.type=memory
#三者串聯
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

2、測試

先啟動: flume-ng agent -n a1 -c /usr/local/src/apache-flume-1.6.0-bin/conf -f /usr/local/src/apache-flume-1.6.0-bin/conf/ip.conf -Dflume.root.logger=INFO,console

有些地方在啟動的時候,最後加一個&,這樣的好處是在後臺可以保留程序

然後新開一個控制檯,在控制檯輸入telnet 192.168.116.10 44444,然後隨便輸入一些單詞,可以發現原來的控制檯就可以收到埠發出的命令了

二、實時監控新增資料輸出到控制檯

1.配置flume

a1.sources=r1
a1.sinks=k1
a1.channels=c1
#描述和配置source,這裡的a表示agent的名字
#第一步:配置source
a1.sources.r1.type=exec
a1.sources.r1.channels=c1
#配置需要監控的日誌輸出目錄
a1.sources.r1.command=tail -F /usr/tmp/flume/1.log
a1.sources.r1.shell=/bin/sh -c
#配置sink
a1.sinks.k1.type=logger
#配置channel
a1.channels.c1.type=memory
#將三者串聯
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

2.測試

先啟動一下

flume-ng agent -n a1 -c /usr/local/src/apache-flume-1.6.0-bin/conf -f /usr/local/src/apache-flume-1.6.0-bin/conf/tel.conf -Dflume.root.logger=INFO,console

然後新開一個控制檯,在/usr/tmp/flume/1.log這個路徑建好檔案,向檔案輸入內容

可以發現原來的控制檯能實時監控新增加的內容。