使用flume收集文件數據傳輸至kafka

不做過多介紹  直接實現目的

kafka和flume的包就自行百度即可,kafka的安裝教程:https://blog.csdn.net/qq_41594146/article/details/100153434

flume的話直接下載後解壓即可用  

直接上解釋的配置文件:

#agent name :a1    #給代理取的名字
a1.sources = r1    #sources認定下方帶r1
a1.sinks = k1      #理解同上
a1.channels = c1   #理解同上

# Flume source
a1.sources.r1.type = exec   #監聽的類型
a1.sources.r1.command = tail -f /home/testdata.txt  #監聽時使用的指令  這個可自行修改成你需要的指令 加 |grep  可實現過濾效果
a1.sources.r1.shell=/bin/sh -c   
a1.sources.r1.batchSize = 1000
a1.sources.r1.batchTimeout = 3000
a1.sources.r1.channels = c1

# Flume channel 
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000000
a1.channels.c1.transactionCapacity = 100000
a1.channels.c1.byteCapacityBufferPercentage = 10
#a1.channels.c1.byteCapacity = 800000

# Flume sink
a1.sinks.k1.channel = c1
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = test
a1.sinks.k1.brokerList = 192.168.79.137:9092   #kafka的配置  如果是集羣 用逗號隔開
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 2000

運行flume:

nohup bin/flume-ng agent -c conf -f conf/flume2kafka.properties -n a1 -Dflume.root.logger=INFO,console &

# -f後帶的是指定的配置文件名  -n 後面帶的是代理的名字  上方的配置文件用的是a1所以這裏用a1  再後面帶的是運行時的jvm參數

效果:

模擬文件寫入情況:

java程序消費情況:

 

 如果能可以幫到各位 可以點個贊或者關注

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章