基本认识:
大数据阶段数据的收集来源,flume的收集数据一般是日志,比如:网站日志
flume是一个分布式的,可靠的,可用的
flume可以做离线也可以做实时分析
collecting--》source--》数据采集来源
aggregating--》channel--》数据临时缓存(只要数据被move了,那就不在存储了)
moving--》sink--》数据的转移
1、agent:source、channel、sink
(1)source:用于采集数据,将产生的数据流传输到Channel
(2)channel:连接sources和sinks,临时缓存数据
(3)sink:从Channel收集数据,将数据写到目标源
2、Events:
(1)是Flume数据传输的基本单元
(2)由header和载有数据的一个bytearray构成,bytearray字节数组:存储真实的数据
(3)每一个事件的大小:deserializer.maxLineLength字节,编码格式:UTF-8
一个source,可以绑定多个channel
一个sink,只能绑定一个channel
flume安装:
准备安装包
apache-flume-1.7.0-bin.tar.gz
解压缩
tar-zxvfapache-flume-1.7.0-bin.tar.gz-C/opt/bigdata/
配置文件:flume-env.sh
mvflume-env.sh.templateflume-env.sh
配置jdk
exportJAVA_HOME=/opt/bigdata/jdk1.8
测试是否成功
bin/flume-ngversion
flume的flume-ng命令
Usage:bin/flume-ng[options]...
例如一些提交任务的命令(熟悉下格式):
bin/flume-ngagent--confconf--nameagent--conf-fileconf/test.properties
bin/flume-ngagent-cconf-nagent-fconf/test.properties
bin/flume-ngavro-client--confconf--hosthost--port
配置情况选择:
1、flume安装在hadoop集群中:
(1)配置JAVA_HOME:
exportJAVA_HOME=/opt/bigdata/jdk1.8
2、flume安装在hadoop集群中,而且还配置了HA:
(1)HDFS访问入口变化
(2)配置JAVA_HOME:
exportJAVA_HOME=/opt/bigdata/jdk1.8
(3)还需要添加hadoop的core-site.xml和hdfs-site.xml拷贝到flume的conf目录
3、flume不在hadoop集群里:
(1)配置JAVA_HOME:
exportJAVA_HOME=/opt/bigdata/jdk1.8
(2)还需要添加hadoop的core-site.xml和hdfs-site.xml拷贝到flume的conf目录
(3)将hadoop的一些jar包添加到flume的lib目录下(用的是什么版本拷贝什么版本)
运行