Flume简介与使用(一)——Flume安装与配置
Flume简介与使用(一)——Flume安装与配置
Flume简介
Flume是一个分布式的、可靠的、实用的服务——从不同的数据源高效的采集、整合、移动海量数据。

分布式:可以多台机器同时运行采集数据,不同Agent的之前通过网络传输数据
可靠的:Flume会将采集的数据缓存在Channel里,当Sink确认数据被接收了后才会从Channel里删除
实用的:Flume的使用是非常简单可用的,易于扩展,只需要修改配置文件的选项,就可以定制不同的Source、Channel、Sink,这得益于其精妙的设计
Agent是Flume的一个JVM进程,其中包含Source、Channel、Sink三个组件,要采集的数据经过定制化的Source缓存到Channel,Channel是一个队列,Source向里面插入数据,Sink从里面取数据,当Sink确认数据被下一跳Agent或者DB等接收后会将数据从Channel删除。
Flume最巧妙的地方就是其模块化的设计。在实际的应用中要采集的数据可能会来自同的数据源,可以是命令的屏幕输出、应用程序的日志、网络流量等等,用户可以定制不同的Source来分别采集。同样也可以根据不同需求定制自己的Channel和Sink。下表是Flume1.6.0支持的部分组件类型
| Source类型 | 说明 |
|---|---|
| Avro Source | 支持Avro协议(实际上是Avro RPC),内置支持 |
| Thrift Source | 支持Thrift协议,内置支持 |
| Exec Source | 基于Unix的command在标准输出上生产数据 |
| JMS Source | 从JMS系统(消息、主题)中读取数据,ActiveMQ已经测试过 |
| Spooling Directory Source | 监控指定目录内数据变更 |
| Twitter 1% firehose Source | 通过API持续下载Twitter数据,试验性质 |
| Netcat Source | 监控某个端口,将流经端口的每一个文本行数据作为Event输入 |
| Sequence Generator Source | 序列生成器数据源,生产序列数据 |
| Syslog Sources | 读取syslog数据,产生Event,支持UDP和TCP两种协议 |
| HTTP Source | 基于HTTP POST或GET方式的数据源,支持JSON、BLOB表示形式 |
| Legacy Sources | 兼容老的Flume OG中Source(0.9.x版本) |
| Channel类型 | 说明 |
|---|---|
| Memory Channel | Event数据存储在内存中 |
| JDBC Channel | Event数据存储在持久化存储中,当前Flume Channel内置支持Derby |
| File Channel | Event数据存储在磁盘文件中 |
| Spillable Memory Channel | Event数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件(当前试验性的,不建议生产环境使用) |
| Pseudo Transaction Channel | 测试用途 |
| Custom Channel | 自定义Channel实现 |
| Sink类型 | 说明 |
|---|---|
| Kafka Sink | 把数据写入Kafka topic |
| Hive Sink | 把数据写入Hive数据库或分区 |
| HDFS Sink | 数据写入HDFS |
| Logger Sink | 数据写入日志文件 |
| Avro Sink | 数据被转换成Avro Event,然后发送到配置的RPC端口上 |
| Thrift Sink | 数据被转换成Thrift Event,然后发送到配置的RPC端口上 |
| IRC Sink | 数据在IRC上进行回放 |
| File Roll Sink | 存储数据到本地文件系统 |
| Null Sink | 丢弃到所有数据 |
| HBase Sink | 数据写入HBase数据库 |
| Morphline Solr Sink | 数据发送到Solr搜索服务器(集群) |
| ElasticSearch Sink | 数据发送到Elastic Search搜索服务器(集群) |
| Kite Dataset Sink | 写数据到Kite Dataset,试验性质的 |
| Custom Sink | 自定义Sink实现 |
Flume安装
这篇先介绍如何安装Flume,以及如何设置配置文件,后面再介绍如何使用Thrift Source采集日志。
一、Flume1.6.0版本求JVM1.6及以上版本,安装好JDK(自带JVM)后,去Flume官网下载二进制格式的压缩包并解压。
二、进入conf目录下:cp flume-conf.properties.template myFlumeConf.properties
三、根据自己需要修改里面的配置,官网上有很多配置的定义。
配置好的属性文件跟下面的类似:

四、启动Flume
在Flume目录下运行:
bin/flume-ng agent --conf conf --conf-file conf/trafficXXX.properties --name agent1 -Dflume.root.logger=INFO,console
其中--conf指定配置文件路径,--conf-file指定配置文件,--name指定配置文件里的要启动agent名字(一个配置文件里可以有多个agent的定义),-Dflume.root.logger指定Flume运行时输出的日志的级别和地方。
转载请注明原文出处,http://www.cnblogs.com/vincent-vg/p/5809626.html,谢谢
Flume简介与使用(一)——Flume安装与配置的更多相关文章
- LDAP简介及LDAP服务器的安装与配置
一.LDAP简介 全称:Lightweight Directory Access Protocol,目录服务是一种特殊的数据库系统,其专门针对读取. LDAP目录中的信息是按照树型结构组织,具体信息存 ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
- Flume简介及安装
Hadoop业务的大致开发流程以及Flume在业务中的地位: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步,从而引出我们本文的 ...
- Apache Flume简介及安装部署
概述 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的软件. Flume 的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目 ...
- Flume简介与使用(二)——Thrift Source采集数据
Flume简介与使用(二)——Thrift Source采集数据 继上一篇安装Flume后,本篇将介绍如何使用Thrift Source采集数据. Thrift是Google开发的用于跨语言RPC通信 ...
- Flume 简介及基本使用
一.Flume简介 Apache Flume是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG (1 ...
- 入门大数据---Flume 简介及基本使用
一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG ( ...
- Flume的安装与配置
Flume的安装与配置 一. 资源下载 资源地址:http://flume.apache.org/download.html 程序地址:http://apache.fayea.com/fl ...
- flume安装及配置
Flume安装 介绍 Flume本身的安装比较简单(flume的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7448633),安装前先说明几个概念 ...
随机推荐
- 2016年中国500强利润率最高的公司,中国500强最赚钱的40家公司,ROE最高的公司
2016年中国500强利润率最高的公司 排名 公司名称 利润率 62 阿里巴巴集团控股有限公司 73.09% 87 百度股份有限公司 50.71% 195 国信证券股份有限公司 47.87% ...
- dom操作之开关灯
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/h ...
- 转自 Because of you 的总结
上下界网络流的问题严格的分,可以分为四类吧. 1:无源汇可行流 sgu 194 2:有源汇可行流 poj 2396 这题比较好,我建图建了将近200行 3:有源汇最大流 zoj 3496 这 ...
- MySQL海量数据查询优化策略
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- HDU 3416 Marriage Match IV dij+dinic
题意:给你n个点,m条边的图(有向图,记住一定是有向图),给定起点和终点,问你从起点到终点有几条不同的最短路 分析:不同的最短路,即一条边也不能相同,然后刚开始我的想法是找到一条删一条,然后光荣TLE ...
- 【转】Kinect使用
文章转自http://blog.csdn.net/yangtrees/article/details/16106271 Kinect中深度值最大为4096mm (0x0fff) 微软建议在开发中使用1 ...
- curl检查远程文件是否存在
size_t processdata(void *buffer, size_t size, size_t nmemb, void *user_p) { //写一个空的写函数 return nmemb; ...
- Codeforces Round #335 (Div. 2)B. Testing Robots解题报告
B. Testin ...
- [POJ2234]Matches Game
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9297 Accepted: 5365 Description Here ...
- 除去重复记录distinct
在查询数据库时候,可以使用distinct关键字过滤重复记录 例如 SELECT distinct ShiftID FROM [AdventureWorks].[HumanResources].[Em ...