您的位置 首页 系统运维

关于Flume-ng那些事(一)

前言

落群好久,一直潜水,实在抹不开了,为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]

需要装好多包 –  -!

使用cloudera tar.gz 包

让我们更改flume-env.sh添加JAVA_HOME

一些概念

组件功能
Agent使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。
Client生产数据,运行在一个独立的线程。
Source从Client收集数据,传递给Channel。
Sink从Channel收集数据,运行在一个独立线程。
Channel连接 sources 和 sinks ,这个有点像一个队列。
 Events 可以是日志记录、 avro 对象等。

热门文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注