首先先保证你的Flume和Kafka的环境是好的哦,而且Kafka和zookeeper集群是开启状态,下面我分为三个部分来演示:
一、Flume的监控配置
flume-kafka.conf文件 这里配置的source是监控文件
agent.sources = s1
agent.channels = c1
agent.sinks = k1
agent.sources.s1.type=exec
agent.sources.s1.command=tail -F /home/hadoop/test/test.txt
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=mini02:9092
#设置Kafka的Topic
agent.sinks.k1.topic=flumekafka
#设置序列化方式
agent.sinks.k1.serializer.class=kafka.serializer.StringEncoder
agent.sinks.k1.channel=c1
然后在flume节点执行命令
bin/flume-ng agent --conf conf/ --name agent --conf-file job/flume-kafka.conf
二、Kafka的消费启动
在Kafka集群的任一节点启动消费者服务
kafka-console-consumer.sh --zookeeper mini01:2181,mini02:2181,mini03:2181 --topic flumekafka --from-beginning
三、往监控的文件中写入数据
这里启动一个简单的往test.txt文件中写入数据的程序
java -cp test..jar AutoImport test.txt name.txt phone.txt
这时可以在Kafka的消费者端可以看到数据被消费到
由于时间原因,本篇的分享没有很具体,如果大家有什么疑问,欢迎留言哦~