日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop之Flume详解

發(fā)布時間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop之Flume详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、日志采集框架Flume
  1.1 Flume介紹
    Flume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。
    Flume可以采集文件,socket數(shù)據(jù)包等各種形式源數(shù)據(jù),又可以將采集到的數(shù)據(jù)輸出到HDFS、hbase、hive、
    kafka等眾多外部存儲系統(tǒng)中
    一般的采集需求,通過對flume的簡單配置即可實(shí)現(xiàn)
    Flume針對特殊場景也具備良好的自定義擴(kuò)展能力,因此,flume可以適用于大部分的日常數(shù)據(jù)采集場景

  1.2 運(yùn)行機(jī)制
    1、 Flume分布式系統(tǒng)中最核心的角色是agent,flume采集系統(tǒng)就是由一個個agent所連接起來形成
    2、 每一個agent相當(dāng)于一個數(shù)據(jù)傳遞員(Source 到 Channel 到 Sink之間傳遞數(shù)據(jù)的形式是Event事件;
      Event事件是一個數(shù)據(jù)流單元。) ,內(nèi)部有三個組件:
      a) Source:采集源,用于跟數(shù)據(jù)源對接,以獲取數(shù)據(jù)
      b) Sink:下沉地,采集數(shù)據(jù)的傳送目的,用于往下一級agent傳遞數(shù)據(jù)或者往最終存儲系統(tǒng)傳遞數(shù)據(jù)
      c) Channel:angent內(nèi)部的數(shù)據(jù)傳輸通道,用于從source將數(shù)據(jù)傳遞到sink

  1.3 采集案例
    1、采集目錄到HDFS
      采集需求:某服務(wù)器的某特定目錄下,會不斷產(chǎn)生新的文件,每當(dāng)有新文件出現(xiàn),就需要把文件采集到HDFS中去
      根據(jù)需求,首先定義以下3大要素
      1) 采集源,即source——監(jiān)控文件目錄 : spooldir
      2) 下沉目標(biāo),即sink——HDFS文件系統(tǒng) : hdfs sink
      3) source和sink之間的傳遞通道——channel,可用file channel 也可以用內(nèi)存channel
    配置文件編寫:
      # 配置source組件
      agent1.sources.source1.type = spooldir
      agent1.sources.source1.spoolDir = /home/hadoop/logs/
      # 配置sink組件
      agent1.sinks.sink1.type = hdfs
      agent1.sinks.sink1.hdfs.path =hdfs://hdp-node-01:9000/weblog/flume-collection/%y-%m-%d/%H-%M
      agent1.sinks.sink1.hdfs.filePrefix = access_log

  Channel參數(shù)解釋:
    capacity:默認(rèn)該通道中最大的可以存儲的event數(shù)量
    trasactionCapacity:每次最大可以從source中拿到或者送到sink中的event數(shù)量
    keep-alive:event添加到通道中或者移出的允許時間

2、采集文件到HDFS
  采集需求:比如業(yè)務(wù)系統(tǒng)使用log4j生成的日志,日志內(nèi)容不斷增加,需要把追加到日志文件中的數(shù)據(jù)實(shí)時采集到hdfs
  根據(jù)需求,首先定義以下3大要素
    1) 采集源,即source——監(jiān)控文件內(nèi)容更新 : exec ‘tail -F file’
    2) 下沉目標(biāo),即sink——HDFS文件系統(tǒng) : hdfs sink
    3) Source和sink之間的傳遞通道——channel,可用file channel 也可以用 內(nèi)存channel

    # Describe/configure tail -F source1
    agent1.sources.source1.type = exec
    agent1.sources.source1.command = tail -F /home/hadoop/logs/access_log
    agent1.sources.source1.channels = channel1
    # Describe sink1
    agent1.sinks.sink1.type = hdfs
    #a1.sinks.k1.channel = c1
    agent1.sinks.sink1.hdfs.path =hdfs://hdp-node-01:9000/weblog/flume-collection/%y-%m-%d/%H-%M
    agent1.sinks.sink1.hdfs.filePrefix = access_log

?

轉(zhuǎn)載于:https://www.cnblogs.com/atomicbomb/p/9904867.html

總結(jié)

以上是生活随笔為你收集整理的Hadoop之Flume详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。