6且叁、Flume攔截器_Flume自定義攔截器

1.背景介紹

Flume提供對數(shù)據(jù)進(jìn)行簡單處理蜈出,并寫到各種數(shù)據(jù)接受方(可定制)的能力。Flume有各種自帶的攔截器延欠,比如:TimestampInterceptor陌兑、HostInterceptor等,通過使用不同的攔截器由捎,實現(xiàn)不同的功能兔综。但是以上的這些攔截器,不能改變原有日志數(shù)據(jù)的內(nèi)容或者對日志信息添加一定的處理邏輯,當(dāng)一條日志信息有幾十個甚至上百個字段的時候软驰,在傳統(tǒng)的Flume處理下涧窒,收集到的日志還是會有對應(yīng)這么多的字段,也不能對你想要的字段進(jìn)行對應(yīng)的處理碌宴。

2.自定義攔截器

根據(jù)實際業(yè)務(wù)的需求杀狡,為了更好的滿足數(shù)據(jù)在應(yīng)用層的處理,通過自定義Flume攔截器贰镣,過濾掉不需要的字段呜象,并對指定字段加密處理,將源數(shù)據(jù)進(jìn)行預(yù)處理碑隆。減少了數(shù)據(jù)的傳輸量恭陡,降低了存儲的開銷。

3.功能實現(xiàn)

1.定義一個類CustomParameterInterceptor實現(xiàn)Interceptor接口上煤。
2.在CustomParameterInterceptor類中定義變量休玩,這些變量是需要到 Flume的配置文件中進(jìn)行配置使用的。每一行字段間的分隔符(fields_separator)劫狠、通過分隔符分隔后拴疤,所需要列字段的下標(biāo)(indexs)、多個下標(biāo)使用的分隔符(indexs_separator)独泞、多個下標(biāo)使用的分隔符(indexs_separator)呐矾。
3.添加CustomParameterInterceptor的有參構(gòu)造方法。并對相應(yīng)的變量進(jìn)行處理懦砂。將配置文件中傳過來的unicode編碼進(jìn)行轉(zhuǎn)換為字符串蜒犯。
4.寫具體的要處理的邏輯intercept()方法,一個是單個處理的荞膘,一個是批量處理罚随。
5.接口中定義了一個內(nèi)部接口Builder,在configure方法中羽资,進(jìn)行一些參數(shù)配置淘菩。并給出,在flume的conf中沒配置一些參數(shù)時屠升,給出其默認(rèn)值瞄勾。通過其builder方法,返回一個CustomParameterInterceptor對象弥激。
6.定義一個靜態(tài)類,類中封裝MD5加密方法


image.png

7.自定義攔截器的代碼開發(fā)已完成愿阐,然后打包成jar微服, 放到Flume的根目錄下的lib中
8.修改Flume的配置信息

新增配置文件spool-interceptor-hdfs.conf,內(nèi)容為:
a1.channels = c1
a1.sources = r1
a1.sinks = s1

#channel
a1.channels.c1.type = memory
a1.channels.c1.capacity=100000
a1.channels.c1.transactionCapacity=50000

#source
a1.sources.r1.channels = c1
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /root/data/
a1.sources.r1.batchSize= 50
a1.sources.r1.inputCharset = UTF-8

a1.sources.r1.interceptors =i1 i2
a1.sources.r1.interceptors.i1.type =cn.itcast.interceptor.CustomParameterInterceptor$Builder
a1.sources.r1.interceptors.i1.fields_separator=\\u0009
a1.sources.r1.interceptors.i1.indexs =0,1,3,5,6
a1.sources.r1.interceptors.i1.indexs_separator =\\u002c
a1.sources.r1.interceptors.i1.encrypted_field_index =0

a1.sources.r1.interceptors.i2.type = org.apache.flume.interceptor.TimestampInterceptor$Builder


#sink
a1.sinks.s1.channel = c1
a1.sinks.s1.type = hdfs
a1.sinks.s1.hdfs.path =hdfs://192.168.200.101:9000/flume/%Y%m%d
a1.sinks.s1.hdfs.filePrefix = event
a1.sinks.s1.hdfs.fileSuffix = .log
a1.sinks.s1.hdfs.rollSize = 10485760
a1.sinks.s1.hdfs.rollInterval =20
a1.sinks.s1.hdfs.rollCount = 0
a1.sinks.s1.hdfs.batchSize = 1500
a1.sinks.s1.hdfs.round = true
a1.sinks.s1.hdfs.roundUnit = minute
a1.sinks.s1.hdfs.threadsPoolSize = 25
a1.sinks.s1.hdfs.useLocalTimeStamp = true
a1.sinks.s1.hdfs.minBlockReplicas = 1
a1.sinks.s1.hdfs.fileType =DataStream
a1.sinks.s1.hdfs.writeFormat = Text
a1.sinks.s1.hdfs.callTimeout = 60000
a1.sinks.s1.hdfs.idleTimeout =60

9啟動:

bin/flume-ng agent -c conf -f conf/spool-interceptor-hdfs.conf -name a1 -Dflume.root.logger=DEBUG,console   
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缨历,一起剝皮案震驚了整個濱河市以蕴,隨后出現(xiàn)的幾起案子糙麦,更是在濱河造成了極大的恐慌,老刑警劉巖丛肮,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赡磅,死亡現(xiàn)場離奇詭異,居然都是意外死亡宝与,警方通過查閱死者的電腦和手機焚廊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來习劫,“玉大人咆瘟,你說我怎么就攤上這事》汤铮” “怎么了袒餐?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谤狡。 經(jīng)常有香客問我灸眼,道長,這世上最難降的妖魔是什么墓懂? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任焰宣,我火速辦了婚禮,結(jié)果婚禮上拒贱,老公的妹妹穿的比我還像新娘宛徊。我一直安慰自己,他們只是感情好逻澳,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布闸天。 她就那樣靜靜地躺著,像睡著了一般斜做。 火紅的嫁衣襯著肌膚如雪苞氮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天瓤逼,我揣著相機與錄音笼吟,去河邊找鬼。 笑死霸旗,一個胖子當(dāng)著我的面吹牛贷帮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诱告,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼撵枢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锄禽,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤潜必,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后沃但,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磁滚,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年宵晚,在試婚紗的時候發(fā)現(xiàn)自己被綠了垂攘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡坝疼,死狀恐怖搜贤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钝凶,我是刑警寧澤仪芒,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站耕陷,受9級特大地震影響掂名,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哟沫,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一饺蔑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嗜诀,春花似錦猾警、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拂蝎,卻和暖如春穴墅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背温自。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工玄货, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悼泌。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓松捉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親馆里。 傳聞我的和親對象是個殘疾皇子惩坑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345