flume简介与安装配置
来源:互联网 发布:2017农村淘宝 编辑:程序博客网 时间:2024/06/04 18:40
一、flume简介
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。flume的核心是把数据从数据源收集过来,再送到目的地。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,删除自己缓存的数据
Agent是Flume的一个JVM进程,其中包含Source、Channel、Sink三个组件,要采集的数据经过定制化的Source缓存到Channel,Channel是一个队列,Source向里面插入数据,Sink从里面取数据,当Sink确认数据被下一跳Agent或者DB等接收后会将数据从Channel删除。
source采集源,可以接收外部源发送过来的数据。不同的source,可以接受不同的数据格式。比如有目录池(spooling directory)数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。
channel是一个存储地,接收source的输出,直到有sink消费掉channel中的数据。channel中的数据直到进入到下一个channel中或者进入终端才会被删除。当sink写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。
sink会消费channel中的数据,然后送给外部源或者其他source。如数据可以写入到HDFS或者HBase中。
flume允许多个agent连在一起,形成前后相连的多级跳。
多个agent之间串联:
二、安装配置使用flume
本文环境如下:
操作系统:CentOS 7.2.1511 64位
Flume版本:1.6.0
1. 系统需求
Flume需要Java 1.6及以上(推荐1.7),对Agent监控目录的读写权限。
2. 下载软件包
到Flume官网上http://flume.apache.org/download.html
下载软件包,例如:
wget "http://mirrors.cnnic.cn/apache/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz"tar -xzvf apache-flume-1.6.0-bin.tar.gzmv flume-1.6.0 /opt
- 1
- 2
- 3
- 1
- 2
- 3
3. 简单示例
3.1 修改配置文件
vi /opt/flume-1.6.0/conf/flume.conf
- 1
- 1
输入以下内容
# 指定Agent的组件名称a1.sources = r1a1.sinks = k1a1.channels = c1# 指定Flume source(要监听的路径)a1.sources.r1.type = spooldira1.sources.r1.spoolDir = /root/path# 指定Flume sinka1.sinks.k1.type = logger# 指定Flume channela1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# 绑定source和sink到channel上a1.sources.r1.channels = c1a1.sinks.k1.channel = c1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
3.2 启动flume agent
cd /opt/flume-1.6.0bin/flume-ng agent --conf conf --conf-file conf/flume.conf --name a1 -Dflume.root.logger=INFO,console
- 1
- 2
- 1
- 2
3.3 写入日志内容
vi 1.log
- 1
- 1
写入Hello Flume.
作为测试内容。然后拷贝到flume监听路径。
cp 1.log /root/path/
- 1
- 1
接着就可以在前一个终端看到刚刚采集的内容了,如下:
2016-06-27 10:02:58,322 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 48 65 6C 6C 6F 20 77 6F 72 6C 64 0D Hello Flume. }
- 1
- 1
至此flume已经能够正常运行。
flume安装参考:http://blog.csdn.net/lnho2015/article/details/52035145
- flume简介与安装配置
- Flume 安装与配置
- flume安装与配置
- Flume单机安装与配置
- Flume的安装与配置
- Flume简介及配置
- Flume——安装与配置
- flume简介和安装
- 【配置】flume安装配置
- flume安装及配置
- flume安装及配置
- flume安装配置
- flume安装及配置
- Flume安装和配置
- flume安装配置
- flume安装配置手册
- 安装配置flume
- Flume安装配置
- hdu 1556 Color the ball (树状数组)
- Android笔记(21)网络加载圆形图片
- Java -- BigDecimal类
- Android中SQLite的数据库版本升级详解
- 《Drools7.0.0.Final规则引擎教程》第4章 4.3 定时器
- flume简介与安装配置
- spring学习之---创建Bean的三种方式
- 爬图片URL
- Java实现冒泡排序算法
- 关于Java内部类的理解
- PHP正则表达式常用的5种模式修正符
- 方法分派
- RH124-第六节-文件权限
- RabbitMQ 入门 Helloworld