[关闭]
@zhangyy 2018-04-12T14:16:49.000000Z 字数 2193 阅读 121

flume 简介与安装配置

协作框架


  • 一:flume 简介与功能
  • 二:flume 安装与配置与简单测试

一:flume 的简介与功能架构

1.1 flume 的简介:

  1. 1.1.1 FlumeCloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
  2. 1.1.2当前Flume有两个版本Flume 0.9X版本的统称Flume-ogFlume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

1.2 flume 的功能:

  1. 1.2.1 flume 是一个分布式的,可靠的,可用的,非常有效率的对大数据量的日志数据进行收集,聚集,移动信息的服务。flume 仅支持在linux上面运行.
  2. 1.2.2 flume 是一个基于流式数据,非常简单(就写一个配置文件就可以),灵活的架构,一个健壮的,容错的,简单的扩展数据模型用于在线上实时应用分析, 他的表现为:写一个sourcechannelsink 之后一条命令就能够操作成功了。
  3. 1.2.3 flume kafka 实时进行数据收集,spark , storm 实时去处理,impala 实时去查询。

1.3 flume 结构图 :

image_1akajfvt51va31b5m11ifvrlbd7m.png-20.5kB

1.4 flume 的结构图解释:

  1. flume-ng 只有一个角色的节点:agent 的角色,agent sourcechannel sink 组成。

image_1akaldjdk1rurt4t14f1l621pfb13.png-40.4kB

  1. 1. Event flume数据传输的基本单元
  2. 2. flume 以事件的形式将数据从源头传送到最终的目的
  3. 3. Event 由可选的header 和加载有数据的一个byte array 构成
  4. 3.1 载有的数据对flume 是不透明的
  5. 3.2 header 是容纳凌key-value字符串对的无序集合,key 在集合内饰唯一的。
  6. 3.3 header 可以在上下文路由中使用扩展

1.5 Channel/Event/Sink 图:

image_1akam4j0npqjqar12fkoi2qif1g.png-41kB

  1. source 监控某个文件,将数据拿到,封装在一个event当中,并put/commit chennel 当中,chennel 是一个队列,队列的有点事先进先出,放好后尾部一个个 event 出来,sink 主动去从chennel 当中去拉数据,sink 在把数据写到某个地方,比如hdfs 上去。

二: flume 的安装与配置

2.1 flume 的安装:

  1. 下载flumecdh 版本:flume-ng-1.5.0-cdh5.3.6.tar.gz
  2. 安装flume-ng:
  3. tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz
  4. mv apache-flume-1.5.0-cdh5.3.6-bin yangyang/flume

2.2 生成配置文件:

  1. cd yangyang/flume/conf
  2. cp -p flume-env.sh.template flume-env.sh
  3. cp -p flume-conf.properties.template flume-conf.properties
  4. 更改 flume-env.sh 增加java 的环境
  5. export JAVA_HOME=/home/hadoop/yangyang/jdk

image_1akano2gr1e2i1i351r0q35r1mqf1t.png-14.8kB

2.3 安装 telnet 的包:

  1. yum install -y telnet-*
  2. rpm -ivh netcat-1.10-891.2.x86_64.rpm

2.4 创建test-conf.properties 文件处理

  1. cd /home/hadoop/yangyang/flume/
  2. cp -p flume-conf.properties test-conf.properties
  3. echo "" > test-conf.properties 清空文件

vim test-conf.properties

  1. # example.conf: A single-node Flume configuration
  2. # Name the components on this agent
  3. a1.sources = r1
  4. a1.sinks = k1
  5. a1.channels = c1
  6. # Describe/configure the source
  7. a1.sources.r1.type = netcat
  8. a1.sources.r1.bind = localhost
  9. a1.sources.r1.port = 44444
  10. # Describe the sink
  11. a1.sinks.k1.type = logger
  12. # Use a channel which buffers events in memory
  13. a1.channels.c1.type = memory
  14. a1.channels.c1.capacity = 1000
  15. a1.channels.c1.transactionCapacity = 100
  16. # Bind the source and sink to the channel
  17. a1.sources.r1.channels = c1
  18. a1.sinks.k1.channel = c1

运行一个agent 处理

  1. cd /home/hadoop/yangyang/flume
  2. bin/flume-ng agent --conf conf --conf-file conf/test-conf.properties --name a1 -Dflume.root.logger=INFO,console

image_1akap7sce14ndu4cf4j1862c062a.png-56.6kB
image_1akap8fog52e8le1hm88rq1k8r2n.png-38.3kB

telnet 登陆处理:

  1. telnet localhost 44444

image_1akapbpgm1jsq1gs7rcd1lj01geh34.png-10.2kB
image_1akapc7s21mb5130815punco1s7b3h.png-24.8kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注