BigData~09:Flume

一、概述

  1. Flume是一個分布式、可靠拢操、和高可用的海量日志采集鸭丛、聚合和傳輸?shù)南到y(tǒng),通常用來做日志的采集揭斧。
  2. Flume的數(shù)據(jù)源非常豐富,可以采集文件,socket數(shù)據(jù)包等各種形式源數(shù)據(jù)屹蚊,又可以將采集到的數(shù)據(jù)輸出到HDFS厕氨、hbase、hive汹粤、kafka等眾多外部存儲系統(tǒng)中命斧;
  3. Flume針對特殊場景也具備良好的自定義擴展能力,因此嘱兼,flume可以適用于大部分的日常數(shù)據(jù)采集場景国葬;
數(shù)據(jù)流程處理

二、原理

單個agent采集數(shù)據(jù)
多級agent之間串聯(lián)

三芹壕、安裝配置

啟動 Flume
bin/flume-ng agent -n agent -c ./conf -f conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

編寫啟動腳本并指定日志輸出
nohup /usr/libra/flume/bin/flume-ng agent -n agent -c /usr/libra/flume/conf -f /usr/libra/flume/conf/kafka-flume-hdfs.properties -Dflume.root.logger=INFO,console >/usr/libra/flume/logs/flume.log 2>&1 &vi

cdh 版本下載
flume-ng-1.5.0-cdh5.3.6.tar.gz
在下面的網(wǎng)站中找到對應版本得到字符串填入上述鏈接中即可下載對應的版本
http://archive.cloudera.com/cdh5/cdh/5/

四汇四、攔截器

  1. Timestamp Interceptor :在event的header中添加一個key叫:timestamp:value 為當前的時間戳。這個攔截器在sink為hdfs 時很有用踢涌,后面會舉例說到
  2. Host Interceptor:在event的header中添加一個key叫:host:value 為當前機器的hostname或者ip通孽。
  3. Static Interceptor:可以在event的header中添加自定義的key:value
  4. Regex Filtering Interceptor:通過正則來清洗或包含匹配的events睁壁。
  5. Regex Extractor Interceptor:通過正則表達式來在header中添加指定的key:value則為正則匹配的部分
  6. 自定義攔截器

五利虫、Channel Selectors

  1. Replicating Channel Selector (default): Replicating 會將source過來的events發(fā)往所有channel
  2. Multiplexing Channel Selector: 這兩種selector的區(qū)別是: ,而Multiplexing 可以選擇該發(fā)往哪些channel

六、特殊需求

  1. 前一段時間上線除了個事故堡僻,問題在于 flume 寫入 HDFS 的時候產(chǎn)生大量的小文件糠惫,基本上2 個 json 就會生成一個文件,看文件的時候驚訝道我了钉疫,一個文件大部分都小于 3kb硼讽,造成存儲系統(tǒng)的 NameNode 壓力暴增,不斷的 GC牲阁,告警固阁。。城菊。
    • 事故就說到這里备燃,問題來了:奈這么多的小文件何?就想怎么能夠不讓出現(xiàn)這么多的小文件凌唬?
      • 于是開始探尋之路并齐,到 flume 的官網(wǎng),發(fā)現(xiàn)了幾個參數(shù):
        參數(shù) 默認值 說明
        hdfs.rollInterval 30 Number of seconds to wait before rolling current file (0 = never roll based on time interval)
        hdfs.rollSize 1024 File size to trigger roll, in bytes (0: never roll based on file size)
        hdfs.rollCount 10 Number of events written to file before it rolled (0 = never roll based on number of events)
        hdfs.idleTimeout 0 Timeout after which inactive files get closed (0 = disable automatic closing of idle files)
      • 咋一看客税,貌似能解決我的問題况褪,但是老大發(fā)話了,一天寫一個文件更耻,于是再看看這幾個參數(shù)测垛,也翻了一下其他的,表示沒有找到
      • 到網(wǎng)上一搜秧均,出現(xiàn) 0 點滾動文件的標題食侮,于是點進去看了看号涯,這個應該可以,打開看了看發(fā)現(xiàn)是修改源碼的锯七,于是就開始下載源碼開始了修改源碼的道路链快。。起胰。
      • 修改源碼??好累久又,就沒有其他辦法了嗎巫延?最后還是搞了出來:把這四個參數(shù)全部關閉效五,然后配置寫入文件的分區(qū)路徑按照時間分區(qū),問題解決了炉峰,只要時間(分區(qū)就是按照業(yè)務時間分區(qū)的)變化畏妖,那么就會切換到新的分區(qū)中。終于告一段落
      • 但是疼阔,緊接著發(fā)現(xiàn)一個問題:這個分區(qū)中的文件始終不會關閉戒劫,即文件的后綴始終是.tmp,但是不用緊張婆廊,只需要打開hdfs.idleTimeout這個屬性即可迅细,可以設置為 10 分鐘,那么 10 分鐘內(nèi)不寫文件就會關閉這個文件淘邻。
  2. 業(yè)務服務已然上線茵典,但是數(shù)據(jù)服務由于各種問題,導致不能正常上線宾舅,但是軟終端的領導撂話:數(shù)據(jù)不能丟统阿,但是我的 Flume 還有問題沒有解決就不能冒然啟動,否則會造成各種問題筹我。但是 Flume 的上游是 kafka扶平,kafka 可以保留最近 7 天的數(shù)據(jù),也就是說蔬蕊,我們還有 7 天的緩沖期结澄,當然了不能死扣著這個 7 天,盡早上線為好
    • 問題就說到這里岸夯,那么如何解決歷史數(shù)據(jù)問題呢
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末概而,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子囱修,更是在濱河造成了極大的恐慌赎瑰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件破镰,死亡現(xiàn)場離奇詭異餐曼,居然都是意外死亡压储,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門源譬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來集惋,“玉大人,你說我怎么就攤上這事踩娘」涡蹋” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵养渴,是天一觀的道長雷绢。 經(jīng)常有香客問我,道長理卑,這世上最難降的妖魔是什么翘紊? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮藐唠,結果婚禮上帆疟,老公的妹妹穿的比我還像新娘。我一直安慰自己宇立,他們只是感情好踪宠,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著妈嘹,像睡著了一般柳琢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蟋滴,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天染厅,我揣著相機與錄音,去河邊找鬼津函。 笑死肖粮,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的尔苦。 我是一名探鬼主播涩馆,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼允坚!你這毒婦竟也來了魂那?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤稠项,失蹤者是張志新(化名)和其女友劉穎涯雅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體展运,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡活逆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年精刷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔗候。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡怒允,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锈遥,到底是詐尸還是另有隱情纫事,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布所灸,位于F島的核電站丽惶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏庆寺。R本人自食惡果不足惜蚊夫,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一诉字、第九天 我趴在偏房一處隱蔽的房頂上張望懦尝。 院中可真熱鬧,春花似錦壤圃、人聲如沸陵霉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽踊挠。三九已至,卻和暖如春冲杀,著一層夾襖步出監(jiān)牢的瞬間效床,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工权谁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留剩檀,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓旺芽,卻偏偏與公主長得像沪猴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子采章,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361