本文最后更新于665 天前,其中的信息可能已经过时,如有错误请发送邮件到mapleleaf2333@gmail.com
由于项目需求,要通过Flume读取数据源的log,并将日志数据写入Kafka,因此简单做了对接的记录。
配置阶段
kafka配置好,监听接口9092
flume配置如下:
agent.sources = r1
agent.sinks = k1
agent.channels = c1
# netcat 监听端口
agent.sources.r1.type = netcat
agent.sources.r1.bind = localhost
agent.sources.r1.port = 4444
agent.sources.r1.channels = c1
# 一行的最大字节数
agent.sources.r1.max-line-length = 1024000
# channels具体配置
agent.channels.c1.type = memory
agent.channels.c1.capacity = 1000
agent.channels.c1.transactionCapacity = 100
# KAFKA_sinks
agent.sinks.k1.channel = c1
agent.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
agent.sinks.k1.topic = hello
agent.sinks.k1.brokerList = localhost:9092
agent.sinks.k1.requiredAcks = 1
agent.sinks.k1.batchSize = 20
启动阶段
(没有说明的话直接在服务器输入命令即可,无需到特定目录)
启动zookeeper
zkServer.sh start
启动kafka
kafka-server-start.sh $KAFKA_HOME/config/server.properties
新开窗口启动消费者
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello --from-beginning
启动flume
//先进入flume目录
cd /home/ubuntu/BI-Basic/flume
//启动命令
./bin/flume-ng agent --conf conf/ --name agent --conf-file conf/flume-conf.properties -Dflume.root.logger==INFO,console
访问端口4444,模拟信息生产者输入信息
telnet localhost 4444
结果如下:
flume监听的接口输入:
kafka消费者: