Flume的安装和简单的入门实例

来源:互联网 发布:acl 软件 编辑:程序博客网 时间:2024/05/17 22:23

Flume的安装和简单的入门实例

目录

  • Flume的安装和简单的入门实例
    • 目录
    • Flume 介绍
    • Flume 安装
    • Flume 配置
    • Flume 测试


Flume 介绍

Flume是一个分布式、可靠、高效可用的海量日志采集、聚合和传输系统,支持在系统中定制各类数据发送方,用于搜集数据;同时,flume提供对数据进行加单处理,并写到各种数据接受方(可定制)的能力。简单说就是从数据源搜集数据,发送到目的地。
Flume架构图

Flume 组件介绍

Source:从client端收集数据,传递个channel。直接读取:文件source的有两种方式:
ExecuteSource:以运行linux命令的方式,持续的输出最新的数据,如tail –f 文件名指令,在这种方式下取的文件名必须是指定的。
SpoolSource:检测配置的目录下新增的文件,并将文件中的数据读取出来。

Channel:缓冲数据,连接sources和sinks,有点像队列。类型有MemoryChannel,JDBC Channel,FileChannel等。

Sink:从channel收集数据,运行一个独立线程。可以向文件系统、数据库、hadoop存储数据。

Flume 安装

1.下载Flume:Apache Flume官网
2.下载完后,解压即可

Flume 配置

进入 conf 文件夹,复制一份简单配置模板文件,用来修改配置我们的Flume。

配置 netcat 源的方式:端口通信数据抽取(仅供测试,企业应用中切勿使用)

agent.sources = s1agent.channels = c1agent.sinks = sk1agent.sources.s1.type = netcatagent.sources.s1.bin = localhostagent.sources.s1.port = 1234agent.sources.s1.channels = c1agent.sinks.sk1.type = loggeragent.sinks.sk1.channel = c1agent.channels.c1.type = memoryagent.channels.c1.capacity = 1000agent.channles.c1.transCapacity = 100

配置 exec 源的方式:抽取日志文件

agent.sources = s1agent.channels = c1agent.sinks = sk1agent.sources.s1.type = execagent.sources.s1.command = tail -f /usr/flume-log/log1.txtagent.sources.s1.channels = c1agent.sinks.sk1.type = loggeragent.sinks.sk1.channel = c1agent.channels.c1.type = memoryagent.channels.c1.capacity = 1000agent.channles.c1.transCapacity = 100

配置 spooldir 源的方式:抽取指定目录下的文件

agent.sources = s1agent.channels = c1agent.sinks = sk1agent.sources.s1.type = spooldiragent.sources.s1.spoolDir = /usr/flume-logagent.sources.s1.fileHeader = trueagent.sources.s1.channels = c1agent.sinks.sk1.type = loggeragent.sinks.sk1.channel = c1agent.channels.c1.type = memoryagent.channels.c1.capacity = 1000agent.channles.c1.transCapacity = 100

Flume 测试

启动Agent:
bin/flume-ng agent -c conf -f conf/flume-netcat.conf –name agent -Dflume.root.logger=INFO,console
其中 flume-netcat.conf 为配置文件名

第一篇博客,如有错误,欢迎指正