文件收集框架Flume

一:回顧
-》Java
-》hadoop
-》common:用於支持其他組件
-》hdfs:分佈式的文件系統
-》分佈式
-》安全機制
-》分塊
-》副本機制
-》企業常見安全機制:RAID 0 1 5 10
-》yarn:資源調度管理框架
-》mr:分佈式的計算框架
-》mapreduce
-》流程:input-》map-》shuffle-》reduce-》output
-》shuffle:排序
-》map端
-》spill
-》merge
-》reduce端
-》merge
-》hive
-》底層原理:是hadoop的客戶端
-》存儲:hdfs
-》計算:mr
-》實現:提供了SQL的接口
-》sqoop:用於hdfs與RDBMS直接數據的導入導出

二、文件收集框架Flume
—》實際企業分析:
-》需求分析
-》分析指標
-》計劃實現
-》框架
-》實施:
-》採集數據 mysql、webserver ->轉移到hdfs flume
-》數據清洗 mapreduce
-》數據分析
-》保存分析結果 RDBMS

-》介紹Flume
-》streaming data flows
-》Flume僅僅運行在linux環境下:如果我的數據在winserver
-》架構:
-》源
-》管道
-》目標

-》搭建flume環境:http://archive.cloudera.com/cdh5/cdh/5/
-》flume的版本
-》flume-og -》原始的
-》flume-ng -》next
-》安裝部署
-》下載解壓:
tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz -C /opt/cdh-5.3.6/
-》修改配置文件
-》需求:java、hdfs
-》flume-env:export JAVA_HOME=/opt/modules/jdk1.7.0_67
-》將hdfs配置文件複製到conf目錄
-》複製hdfs 相關JAR包到lib
-》使用flume:配置文件:source,channel,sink
-》案例1、將hive.log中的內容動態加載到flume日誌中
運行:Usage: bin/flume-ng [options]…

bin/flume-ng agent --conf  conf/  --name a1  --conf-file  conf/flume-hive-log.properties -Dflume.root.logger=INFO,console

常用的source
-》exec
-》spooling dir
-》kafka

常用的channel:
-》memory
-》file
-》kafka

常用的sink
-》hdfs
-》kafka
-》hive
-》hbase

案例2、將hive.log輸出到控制檯,使用filechannel
bin/flume-ng agent –conf conf/ –name a1 –conf-file conf/flume-conf.properties -Dflume.root.logger=INFO,console

案例3、使用hdfs sink
bin/flume-ng agent –conf conf/ –name a1 –conf-file conf/flume-hive-file-hdfs.properties -Dflume.root.logger=INFO,console

總結:
-》常見的source和channel、sink自己練習
-》如何找到hdfs:建議在agent配置文件中寫全路徑
-》時間的配置
-》文件格式
-》文件名的配置

案例4、使用spooling dir source
bin/flume-ng agent –conf conf/ –name a1 –conf-file conf/flume-dir-file-hdfs.properties -Dflume.root.logger=INFO,console

企業日誌目錄:

logs:
按日期分類:2016-10-31.log
2016-11-01.log.tmp -> 2016-11-01.log
按日誌類型分類:追加的方式
2016-11-01.log

思考:
1、如何實現多channel及多sink
2、如何進行多臺機器數據傳輸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章