flume消费kafka数据太慢_windows Flume环境配置,Flume与Kafka 整合

一、Flume环境配置

Flume下载地址:http://archive.apache.org/dist/flume/

下载后解压:

42f23466fa2159e933da93da0dd430a7.png

1、进入conf 目录,windows环境下修改flume-env.ps1.template为flume-env.ps1

2、环境变量配置

FLUME_HOME:C:softwareapache-flume-1.7.0-bin

在path变量中添加 %FLUME_HOME%conf;%FLUME_HOME%bin;

3、判断是否安装成功

在cmd中输入flume-ng version

05a9755924ecce32b4b650dd28735ade.png

4、conf目录下创建 nc_logger.conf

# 定义这个 agent 中各组件的名字 
a1.sources = r1 
a1.sinks = k1 
a1.channels = c1 
# 描述和配置 source 组件:r1 
a1.sources.r1.type = netcat 
a1.sources.r1.bind = localhost 
a1.sources.r1.port = 9000 
# 描述和配置 sink 组件:k1 
a1.sinks.k1.type = logger 
# 描述和配置channel组件,此处使用是内存缓存的方式 
a1.channels.c1.type = memory 
a1.channels.c1.capacity = 1000 
a1.channels.c1.transactionCapacity = 100 
# 描述和配置 source channel sink 之间的连接关系 
a1.sources.r1.channels = c1 
a1.sinks.k1.channel = c1 

启动

cd C:softwareapache-flume-1.7.0-binbin
flume-ng.cmd agent -conf ../conf  -conf-file ../conf/nc_logger.conf  -name a1  -property flume.root.logger=INFO,console

二、Flume + Kafka 整合

617557c249d10023ffcf4cb0c1788d55.png

1、两个 Flume Agent 分别部署在两台 Web 服务器上,采集两台服务器的业务日志,监听 /home/logs/access.log 文件中的数据变化,并且将数据 Sink 到 flumeagent03 的 9000 端口。

vim log_kafka.conf 代码如下:

# 定义这个 agent 中各组件的名字 
a1.sources = r1 
a1.sinks = k1 
a1.channels = c1 
# source的配置,监听日志文件中的新增数据 
a1.sources.r1.type = exec 
a1.sources.r1.command  = tail -F /home/logs/access.log 
#sink配置,使用avro日志做数据的消费 
a1.sinks.k1.type = avro 
a1.sinks.k1.hostname = flumeagent03 
a1.sinks.k1.port = 9000 
#channel配置,使用文件做数据的临时缓存 
a1.channels.c1.type = file 
a1.channels.c1.checkpointDir = /home/temp/flume/checkpoint 
a1.channels.c1.dataDirs = /home/temp/flume/data 
#描述和配置 source channel sink 之间的连接关系 
a1.sources.r1.channels = c1 
a1.sinks.k1.channel = c 

2、第三个 Flume Agent 用来接收上述两个 Agent 的数据,并且发送到 Kafka。我们需要启动本地 Kafka,并且创建一个名为 log_kafka 的 Topic。

vim flume_kafka.conf 代码如下:

# 定义这个 agent 中各组件的名字 
a1.sources = r1 
a1.sinks = k1 
a1.channels = c1 
#source配置 
a1.sources.r1.type = avro 
a1.sources.r1.bind = 0.0.0.0 
a1.sources.r1.port = 9000 
#sink配置 
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink 
a1.sinks.k1.topic = log_kafka 
a1.sinks.k1.brokerList = 127.0.0.1:9092 
a1.sinks.k1.requiredAcks = 1 
a1.sinks.k1.batchSize = 20 
#channel配置 
a1.channels.c1.type = memory 
a1.channels.c1.capacity = 1000 
a1.channels.c1.transactionCapacity = 100 
#描述和配置 source channel sink 之间的连接关系 
a1.sources.r1.channels = c1 
a1.sinks.k1.channel = c1   

当 Flume Agent 1 和 2 中监听到新的日志数据后,数据就会被 Sink 到 Kafka 指定的 Topic,我们就可以消费 Kafka 中的数据了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值