前言 落群好久,一直潜水,实在抹不开了,为ttlsa做点贡献。这个群是我见到所有技术群里扯淡最少的群。支持下,谢谢群主默北和管理员白开水为我们开辟一块学习的净土。希望ttlsa走的更远,各位同学在技术更上一层楼。我们的口号是有困难找群主!!! :),文章是去年2012年写的,现整理如下:
介绍 Flume-ng 在官方网站上说的重大结构性调整,以至于调整的连相应文档也都精简了,缺少实例配置,也许这就所谓的官方声称的孵化阶段。Apache Flume 是一个分布的,高可靠和高可用的日志收集系统。能将从不同节点将大量日志数据进行汇总并迁移到中央存储。现在flume分为两个版本1.x.x 和0.9.x。
Flume 1.x.x一些特性
- sources和sinks 使用channels 进行链接
- 两个主要channel 。1, in-memory channel 非持久性支持,速度快。2 , JDBC-based channel 持久性支持。
- 不再区分逻辑和物理node,所有物理节点统称为 "agents",每个agents 都能运行0个或多个sources 和sinks
- 不再需要master节点和对zookeeper的依赖,配置文件简单化。
- 使用Thrift、Avro Flume sources 可以从flume0.9.4 发送 events 到flume 1.x
让我们开始我们的Flume-ng 之旅吧
安装依赖关系 [info]Note: The Flume 1.x flume-ng-agent package directly depends only on flume-ng package. Theflume-ng package directly depends only on hadoop-hdfs and bigtop-utils packages. Theflume-ng-doc package has no direct package dependencies.[/info]
#yum install jdk
#yum install flume-ng
Dependencies Resolved
==========================================================================================================================
Package Arch Version Repository Size
==========================================================================================================================
Installing:
flume-ng noarch 1.1.0+120-1.cdh4.0.0.p0.14.el5 hadoop 11 M
Installing for dependencies:
bigtop-jsvc x86_64 0.4+299-1.cdh4.0.0.p0.27.el5 hadoop 29 k
bigtop-utils noarch 0.4+299-1.cdh4.0.0.p0.27.el5 hadoop 7.3 k
hadoop x86_64 2.0.0+88-1.cdh4.0.0.p0.26.el5 hadoop 18 M
hadoop-hdfs x86_64 2.0.0+88-1.cdh4.0.0.p0.26.el5 hadoop 8.8 M
zookeeper noarch 3.4.3+14-1.cdh4.0.0.p0.27.el5 hadoop 3.9 M
-
Transaction Summary
==========================================================================================================================
Install 6 Package(s)
需要装好多包 - -! 使用cloudera tar.gz 包
# wget <a href="http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.1.0-cdh4.0.0.tar.gz" rel="nofollow">http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.1.0-cdh4.0.0.tar.gz</a>
# cp <a href="http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.1.0-cdh4.0.0.tar.gz" rel="nofollow">flume-ng-1.1.0-cdh4.0.0.tar.gz</a> /opt/apps_install; cd /opt/apps_install; tar xzvf <a href="http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.1.0-cdh4.0.0.tar.gz" rel="nofollow">flume-ng-1.1.0-cdh4.0.0.tar.gz</a>
# ln -s /opt/apps_install/flume-1.1.0-cdh4.0.0/ /opt/apps/flume-ng
# cd /opt/apps/flume-ng/conf
让我们更改flume-env.sh添加JAVA_HOME
echo $JAVA_HOME
/opt/apps/jdk
echo JAVA_HOME=/opt/apps/jdk >> flume-env.sh
一些概念:
组件 | 功能 |
---|
Agent | 使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。 |
Client | 生产数据,运行在一个独立的线程。 |
Source | 从Client收集数据,传递给Channel。 |
Sink | 从Channel收集数据,运行在一个独立线程。 |
Channel | 连接 sources 和 sinks ,这个有点像一个队列。 |
Events | 可以是日志记录、 avro 对象等。 |
转载请注明出处:http://www.ttlsa.com/html/2754.html