flume到kafka

1. kafka.properties:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

agent.sources = s1                                                                                                                  

agent.channels = c1                                                                                                                 

agent.sinks = k1                                                                                                                    

                                                                                                                                      

agent.sources.s1.type=exec                                                                                                          

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

agent.sources.s1.channels=c1                                                                                                        

agent.channels.c1.type=memory                                                                                                       

agent.channels.c1.capacity=10000                                                                                                    

agent.channels.c1.transactionCapacity=100                                                                                           

                                                                                                                                      

#设置Kafka接收器                                                                                                                    

agent.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink                                                                          

#设置Kafka的broker地址和端口号                                                                                                      

agent.sinks.k1.brokerList=master:9092                                                                                               

#设置Kafka的Topic                                                                                                                   

agent.sinks.k1.topic=kafkatest                                                                                                      

#设置序列化方式                                                                                                                     

agent.sinks.k1.serializer.class=kafka.serializer.StringEncoder                                                                      

                                                                                                                                      

agent.sinks.k1.channel=c1    

  关于配置文件中注意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***  

1

2

3

for((i=0;i<=1000;i++));

do echo "kafka_test-"+$i>>/tmp/logs/kafka.log;

done

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

1

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

1

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

    c.新增Topic kafkatest

1

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

1

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

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

猜你喜欢

转载自blog.csdn.net/xiaolong_4_2/article/details/82012621