Flume介绍

一、Flume介绍

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
当前Flume有两个版本。Flume0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

二、内部架构

在这里插入图片描述

A:需要采集的对象。

B:需要输出的对象。

Event:事件是可由Flume NG传输的单一数据单元。

Source:Flume NG从中接收数据的数据来源。Syslog、File。

Channel:通道是源和接收器之间事件的管道。它还决定了源和接收器之间事件传递的持久性。例如,一个通道可能在内存中,或者硬盘中。

Sink:接收器是源的对应物,因为它是Flume NG中数据的目的地。HDFS、Hbase、Hive、Kafka、另一个flume。

三、安装使用

官网下载,目前最新版本1.9.0:http://mirror.bit.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

3.1 解压、配置环境变量

yum install -y wget \
&& wget http://mirror.bit.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz -O /opt/apache-flume-1.9.0-bin.tar.gz \
&& cd /opt/;tar -zxvf apache-flume-1.9.0-bin.tar.gz \
&& rm -rf apache-flume-1.9.0-bin.tar.gz

配置环境变量

vi ~/.bashrc
# 追加添加以下内容
export FLUME_HOME=/opt/apache-flume-1.9.0-bin/
export PATH=$PATH:$FLUME_HOME/bin
# 刷新生效
source ~/.bashrc

3.2 修改配置文件

创建配置文件

touch /opt/apache-flume-1.9.0-bin/conf/netcat.conf

添加如下内容

# seqGenSrc表示为sources取的名字
# memoryChannel表示为memoryChannel取的名字
# loggerSink表示为loggerSink取的名字
agent.sources = seqGenSrc
agent.channels = memoryChannel
agent.sinks = loggerSink

# agent名称.sources.source的名称.属性=值
agent.sources.seqGenSrc.type = netcat
agent.sources.seqGenSrc.bind = 127.0.0.1
agent.sources.seqGenSrc.port = 44445

# agent名称.sinks.sinks的名称.属性=值
agent.sinks.loggerSink.type = logger
agent.sinks.loggerSink.channel = memoryChannel

# agent名称.channels.channels的名称.属性=值
agent.channels.memoryChannel.type = memory
agent.channels.memoryChannel.capacity = 100

# 让sources与channels关联
agent.sources.seqGenSrc.channels = memoryChannel
# 让sinks与channels关联
agent.sinks.loggerSink.channels = memoryChannel

3.3 启动测试

注:需要有Java环境

flume-ng agent --conf /opt/apache-flume-1.9.0-bin/conf/ --conf-file  /opt/apache-flume-1.9.0-bin/conf/netcat.conf --name agent -Dflume.root.logger=INFO,console

重开一个终端,输入测试内容

[root@localhost ~]# telnet 127.0.0.1 44445
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
[root@localhost ~]# telnet 127.0.0.1 44445
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hheellooo
OK

查看控制台,收到测试内容

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值