flume和kafka

agent里面包含3个核心的组件:source—->channel—–>sink,类似生产者、仓库、消费者的架构。


source:source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。


channel:source组件把数据收集来以后,临时存放在channel中,即channel组件在agent中是专门用来存放临时数据的——对采集到的数据进行简单的缓存,可以存放在memory、jdbc、file等等。


sink:sink组件是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定义。


项目中日志放到kafka中,topic_sdk_offline kafka topic


 Flume :管道 —-个人认为比较适合有多个生产者场景,或者有写入Hbase、HDFS和kafka需求的场景
Kafka :消息队列—–由于Kafka是Pull模式,因此适合有多个消费者的场景


agent.sources = s1
agent.channels = c1
agent.sinks = k1


调用命令 exec

agent.sources.s1.type = exec

内容

agent.sources.s1.command=tail -F /logs/app.log

agent.sources.s1.channels = c1

channel配置

agent.channels.c1.type = memory
agent.channels.c1.capacity = 10000
agent.channels.c1.transactionCapacity = 10000
agent.channels.c1.byteCapacityBufferPercentage = 20
agent.channels.c1.byteCapacity = 800000

sink配置 目的地为kafka、

agent.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
kafka主题
agent.sinks.k1.topic = test
kafka的地址
agent.sinks.k1.brokerList = localhost:9092

agent.sinks.k1.requiredAcks = 1
agent.sinks.k1.batchSize = 20
agent.sinks.k1.channel = c1


flume 启动命令

./flume-ng agent –conf conf -f ../conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值