Kafka 学习笔记(5)—— flume + kafka 整合(1)

1 需求分析

  1. 采集订单系统应用打印的日志文件。
  • 日志文件使用 log4j 生成,滚动生成。
  1. 将采集的日志文件保存到 kafka中。
  • (source) 输入: tail -F xx.log
  • (channel) 存储 : 内存
  • (sink)输出:kafka
    config
  • a1.source=s1
  • a1.channel=c1
  • a1.sink=k1
  • source == > type = exec tail -F xxx,.log
  • channel ==> RAM
  • sink ==> xxx.xxxx.xxxx.KafkaSink //该类必须放在lib目录
  • sink.topic = orderMq
  • sink.mytopic = mytopic
map=getConfig()
value=map.get(''itcast)
  1. 通过 storm 程序消费 Kafka 中数据
KafkaSpout()
Bolt1()
Bolt2()

2 配置flume

2.1 上传解压

在这里插入图片描述

 tar -zxvf apache-flume-1.6.0-bin.tar.gz -C /export/servers
[hadoop@node1 ~]$ cd /export/servers/
[hadoop@node1 servers]$ ln -s apache-flume-1.6.0-bin/ flume
[hadoop@node1 servers]$ 

2.2 创建配置文件

[hadoop@node1 ~]$ cd /export/servers/flume/conf/
[hadoop@node1 conf]$ mkdir myconf
[hadoop@node1 conf]$ vim exec.conf

a1.sources=r1
a1.channels=c1
a1.sinks=k1

al.sources.r1.type=exec
a1.sources.r1.command=tail -F /export/data/flume_sources/click_log/1.log
a1.sources.r1.channels=c1

a1.channels.c1.type=memory
a1.channels.c1.capacity=10000
a1.channels.c1.transactionCapacity=100

a1.sinks.k1.type=org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic=test
a1.sinks.k1.brokerList=node1:9092
a1.sinks.k1.requiredAcks=1
a1.sinks.k1.batchSize=20
a1.sinks.k1.channel=c1

2.3 创建目标数据的目录

mkdir -p /export/data/flume_sources/click_log

2.4 通过脚本创建目标文件并产生数据

click_log_out.sh

for((i=0;i<=50000;i++));
do echo *message-*+$i>>/export/data/flume_sources/click_log/1.log;
done

脚本需要root用户赋权

[hadoop@node1 ~]$ sudo chmod +x click_log_out.sh 

3 开始启动各个流程

3.1 启动 zk 集群

zkServer.sh start

3.2 启动 kafka 集群

[hadoop@node1 ~]$ kafka-server-start.sh /export/servers/kafka/config/server.properties 

3.3 创建一个topic 并开启 consumer

kafka-console-consumer.sh --topic=test --zookeeper node1:2181

3.4 启动flume 客户端

[hadoop@node1 ~]$ cd /export/servers/flume/
[hadoop@node1 flume]$ ./bin/flume-ng agent -n a1 -c /export/servers/flume/conf -f /export/servers/flume/conf/myconf/exec.conf -Dflume.root.logger=INFO,console

3.5 产生数据

[hadoop@node1 ~]$ sh click_log_out.sh 
[hadoop@node1 ~]$ 

3.6 在 consumer 窗口可以看到数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值