1.FLUME
------------------------------
1.Flume源于cloudera公司,用于自己公司日常数据生产收集, Flume OG,
2.Flume NG,由Apache进行维护
3.Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据
.2.Flume的组成
----- -------------------------
1.agent;代理,每一个代理都是一个
单独的JVM进程2.source:组成agent的重要组件之一,用于收集日志
3.channel:组成agent的重要组件之一,用于日志的封装和传递,本身是一个管道
4.sink:组成agent的重要组件之一,用于数据的存储(数据)的下沉点)
5.event:事件,是channel中传的数据类型,
包括两部分:
一部分是header:可以设置数据的拦截信息,本身是Map(String,String)
一部分是body:用于记录日志数据
3.FLUME的版本选择
-------------------------------
1.如果flume和kafka0.8版本集成,需选择1.6版本
4.Flume的安装
-------------------------- ----
1.apache下载flume1.6版本
2.tar包
3.配置Flume的环境变量
4.配置flume-conf.properties文件
#example.conf:单节点Flume配置
#命名此代理上的组件
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#描述/配置源
a1.sources.r1.type = netcat#必要参数
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
#描述接收器
a1.sinks.k1.type = logger
#使用缓冲内存中事件的通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
5.启动flume 服务;
flume-ng agent -n a1 -c~ / soft / flume / conf / -f~ / soft / flume / conf / flume-simple.properties -Dflume.root.logger = INFO,console
6.如果有多个数据源监听,需以空格将每一个数据源进行分隔
5.Flume的source和sink的使用
----------------
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#描述/配置源
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /home/hadoop/a.log#
描述接收器
a1.sinks.k1.type = hdfs
a1 .sinks.k1.hdfs.path = hdfs:// master:8020 / flume / events /%y-%m-%d /%H%M /%S
a1.sinks.k1.hdfs.filePrefix = events-
a1 .sinks.k1.hdfs.useLocalTimeStamp = true
#使用一个缓冲内存中事件的通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
------------------------------
1.Flume源于cloudera公司,用于自己公司日常数据生产收集, Flume OG,
2.Flume NG,由Apache进行维护
3.Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据
.2.Flume的组成
----- -------------------------
1.agent;代理,每一个代理都是一个
单独的JVM进程2.source:组成agent的重要组件之一,用于收集日志
3.channel:组成agent的重要组件之一,用于日志的封装和传递,本身是一个管道
4.sink:组成agent的重要组件之一,用于数据的存储(数据)的下沉点)
5.event:事件,是channel中传的数据类型,
包括两部分:
一部分是header:可以设置数据的拦截信息,本身是Map(String,String)
一部分是body:用于记录日志数据
3.FLUME的版本选择
-------------------------------
1.如果flume和kafka0.8版本集成,需选择1.6版本
4.Flume的安装
-------------------------- ----
1.apache下载flume1.6版本
2.tar包
3.配置Flume的环境变量
4.配置flume-conf.properties文件
#example.conf:单节点Flume配置
#命名此代理上的组件
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#描述/配置源
a1.sources.r1.type = netcat#必要参数
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
#描述接收器
a1.sinks.k1.type = logger
#使用缓冲内存中事件的通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
5.启动flume 服务;
flume-ng agent -n a1 -c~ / soft / flume / conf / -f~ / soft / flume / conf / flume-simple.properties -Dflume.root.logger = INFO,console
6.如果有多个数据源监听,需以空格将每一个数据源进行分隔
5.Flume的source和sink的使用
----------------
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#描述/配置源
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /home/hadoop/a.log#
描述接收器
a1.sinks.k1.type = hdfs
a1 .sinks.k1.hdfs.path = hdfs:// master:8020 / flume / events /%y-%m-%d /%H%M /%S
a1.sinks.k1.hdfs.filePrefix = events-
a1 .sinks.k1.hdfs.useLocalTimeStamp = true
#使用一个缓冲内存中事件的通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1