? ? 我們的日志基本是從web服務(wù)中采集洛波,那么flume有好的配置胰舆,接下來我將分別演示單臺(tái)和多臺(tái)聚合例子。
一蹬挤、單臺(tái)flum
? ? 對于實(shí)時(shí)的日志flume采集修改配置source為exec缚窿,sink目前測試只是模擬打印出來,對于真正的生產(chǎn)環(huán)境我們是可以配置成Hdfs或者kafka焰扳,分別用于以后離線計(jì)算以及實(shí)時(shí)流計(jì)算處理倦零。對于sink發(fā)送至kafak我將在后面的內(nèi)容中寫出,至于配置文件位置和如何啟動(dòng)我就不說了吨悍,上一節(jié)內(nèi)容已經(jīng)說明扫茅,直接上配置即可:
如上標(biāo)注的文件是我們生產(chǎn)環(huán)境日志文件即可,此處我們可以在自己的文件夾上創(chuàng)建一個(gè)該文件進(jìn)行模擬育瓜,然后我們來說明下下exec的配置葫隙,直接把官網(wǎng)的說明列出就一目了然:
接下來啟動(dòng)flume,然后模擬輸入命令躏仇,如下兩個(gè)圖分別是輸入和flume打印出來的內(nèi)容
2)停蕉、多臺(tái)
應(yīng)用場景說明:接下來要演示的是多臺(tái)服務(wù)聚合的場景(看下圖一幕了然),例如我們有兩天web服務(wù)钙态,我們分別配置了flume慧起,但是這兩天沒有沒有HDFS服務(wù),我們?nèi)绾伟堰@兩個(gè)服務(wù)保存到hdfs中册倒?其實(shí)就是兩天日志的通過配置sink蚓挤,然后將日志發(fā)送到存在HDFS服務(wù)商flume服務(wù)中即可。
好了驻子,接下來我們就來演示上圖的這種環(huán)境灿意,我將用兩天測試,用一臺(tái)接收web服務(wù)的日志然后發(fā)送到另外一臺(tái)flume中即可:
第一臺(tái)配置如下(接收web服務(wù)配置):注意我們的sink的type要配置成avro
第二臺(tái)配置(接收flume的配置):注意我們的source的type要配置成avro
如上配置好啟動(dòng)即可崇呵,然后在第一臺(tái)服務(wù)模擬數(shù)據(jù)缤剧,第二臺(tái)的日志就會(huì)打印出來。此處與單臺(tái)模擬操作相同就不在展示域慷。
總結(jié):flume的核心其實(shí)就是sources荒辕、Channels、sinks
? ? ? ? ? ? 配置的時(shí)候我們基本按照這四部走:1:配置source犹褒,2:配置Channel 3:配置Sink 4:把以上三個(gè)聯(lián)系起來即可
? ? ? ? ? ? 如果我們忘記命令可以在flume中直接輸入flume-ng即可查看如下圖:
? ??如何解決我們的數(shù)據(jù)從其他server移動(dòng)到hadoop中抵窒?
????????1)、shell腳本cp到hadoop中 hdfs -put叠骑,但是太麻煩不能及時(shí)
????????2)李皇、flume(比較好的選擇)
? ? Flume的概述:flume是具有分布式、高效可用的宙枷,收集掉房、聚合大量的日志文件的框架茧跋,并且可靠、擴(kuò)展性強(qiáng)
? ??