kafka和flume整合

关于Flume 的 一些核心概念:

组件名称    功能介绍
Agent代理使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。
Client客户端生产数据,运行在一个独立的线程。
Source源从Client收集数据,传递给Channel。
Sink接收器从Channel收集数据,进行相关操作,运行在一个独立线程。
Channel通道连接 sources 和 sinks ,这个有点像一个队列。
Events事件传输的基本数据负载。
es文件,启动时也应当用此配置文件作为参数启动。下面看具体内容:

1. kafka.properties:
关于配置文件中注意3点:

  a.  agent.sources.s1.command=tail -F /tmp/logs/kafka.log   

  b.  agent.sinks.k1.brokerList=master:9092

  c . agent.sinks.k1.topic=kafkatest 

2.很明显,由配置文件可以了解到:

  a.我们需要在/tmp/logs下建一个kafka.log的文件,且向文件中输出内容(下面会说到);

  b.flume连接到kafka的地址是 master:9092,注意不要配置出错了;

  c.flume会将采集后的内容输出到Kafka topic 为kafkatest上,所以我们启动zk,kafka后需要打开一个终端消费topic kafkatest的内容。这样就可以看到flume与kafka之间玩起来了~~

 

3.具体操作:

  a.在/tmp/logs下建立空文件kafka.log。在mfz 用户目录下新建脚本kafkaoutput.sh(一定要给予可执行权限),用来向kafka.log输入内容: kafka_test***

  

for((i=0;i<=1000;i++));
do echo "kafka_test-"+$i>>/tmp/logs/kafka.log;
done

b. 在kafka安装目录下执行如下命令,启动zk,kafka 。(不明白此处可参照 大数据系列之Flume+HDFS)

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties &

bin/kafka-server-start.sh -daemon config/server.properties &

``c.新增Topic kafkatest

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafkatest 

d.打开新终端,在kafka安装目录下执行如下命令,生成对topic kafkatest 的消费

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafkatest --from-beginning --zookeeper master

e.启动flume

bin/flume-ng agent --conf-file  conf/kafka.properties -c conf/ --name agent -Dflume.root.logger=DEBUG,console

d.执行kafkaoutput.sh脚本(注意观察kafka.log内容及消费终端接收到的内容)

``` e.查看新终端消费信息

整体流程如图:

完~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值