1. 程式人生 > >flume 的kafka sink及 taill 命令

flume 的kafka sink及 taill 命令

本文內容:
flume 通過監控檔案然後將結果輸出到 kafka ,其實也就是 使用kafkaSink

步驟

安裝zookeeper 略
安裝 kafka 略
安裝flume 略
以上的內容我的其他部落格都有寫。

新建flume 配置檔案 kafkaSink.conf內容如下:

(source 使用 exec channel 使用memory,sink 是官方的kafkaSink )

a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources
.r1.type = exec a1.sources.r1.shell = /bin/bash -c a1.sources.r1.channels = c1 a1.sources.r1.command = tail -F /opt/apps/logs/tail4.log # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 #sink a1.sinks.k1.channel
= c1 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = mytopic a1.sinks.k1.kafka.bootstrap.servers = localhost:9092 a1.sinks.k1.kafka.flumeBatchSize = 20 a1.sinks.k1.kafka.producer.acks = 1 a1.sinks.k1.kafka.producer.linger.ms = 1 a1.sinks.ki.kafka.producer.compression
.type = snappy

taill

注意:向被監控的檔案tail4.log 傳送資訊時, 切記不要使用 vi  命令,應該使用 echo 命令傳送,因為 vi 命令會產生檔案鎖,將檔案鎖住,此時tail 命令就不能及時的取出資訊,放入channel 也不能通過sink 傳送到kafka .