文件收集框架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、如何进行多台机器数据传输

你可能感兴趣的:(hadoop)