Flume整合Kafka框架

流程图如图所示,此处把kafka sink 转接给kafkaconsumer,之后会把kafka消息对接过spark Streaming处理

* 先启动zookeeper再启动kafka
* 先启动flume监听,在启动flume接受data.log的一方
* 关键部分为kafka对接的conf的配置书写部分
Flume整合Kafka框架_第1张图片
image.png
先上两个配置文件
//exec-memory-avro.conf配置文件
exec-memory-avro.sources = exec-source
exec-memory-avro.sinks = avro-sink
exec-memory-avro.channels = memory-channel

exec-memory-avro.sources.exec-source.type = exec
exec-memory-avro.sources.exec-source.command = tail -F /home/hadoop/data/data.log
exec-memory-avro.sources.exec-source.shell = /bin/sh -c

exec-memory-avro.sinks.avro-sink.type = avro
exec-memory-avro.sinks.avro-sink.hostname = hadoop000
exec-memory-avro.sinks.avro-sink.port = 44444

exec-memory-avro.channels.memory-channel.type = memory

exec-memory-avro.sources.exec-source.channels = memory-channel
exec-memory-avro.sinks.avro-sink.channel = memory-channel


//avro-memory-kafka.conf配置文件
avro-memory-kafka.sources = avro-source
avro-memory-kafka.sinks = kafka-sink
avro-memory-kafka.channels = memory-channel

avro-memory-kafka.sources.avro-source.type = avro
avro-memory-kafka.sources.avro-source.bind = hadoop000
avro-memory-kafka.sources.avro-source.port = 44444
//注意此部分的书写:包括kafka的topic及其批处理的条数等
avro-memory-kafka.sinks.kafka-sink.type = org.apache.flume.sink.kafka.KafkaSink
avro-memory-kafka.sinks.kafka-sink.brokerList = hadoop000:9092
avro-memory-kafka.sinks.kafka-sink.topic = hello_topic
avro-memory-kafka.sinks.kafka-sink.batchSize = 5
avro-memory-kafka.sinks.kafka-sink.requiredAcks =1

avro-memory-kafka.channels.memory-channel.type = memory

avro-memory-kafka.sources.avro-source.channels = memory-channel
avro-memory-kafka.sinks.kafka-sink.channel = memory-channel

启动命令(先启动zookeeper,在启动kafka)

  • 启动监听方:flume-ng agent --name avro-memory-kafka --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/avro-memory-kafka.conf
  • 启动接收方:flume-ng agent --name exec-memory-avro --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/exec-memory-avro.conf
  • 启动kafka消费者:kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic hello_topic
    *修改data.log看到操作结果
image.png

image.png

你可能感兴趣的:(Flume整合Kafka框架)