Flume
1,flume主要由source,channel,sink组成 。
2,source 扮演生产者。通个各种方式为flume捕获数据,再存到source!
3,channel 从source获得数据,等待sink拿走消息。channel可以通过memery,file等方式记录sink读取数据节点
4,sink 扮演消费者,从channel拿走存在里面的数据,传给对应的type
5,java环境自配。source与sink支持的type在官网可查
# flume 配置文件
a1.source = sc1
a1.channel = ch1
a1.sinks = sk1
# source 配置
a1.source.sc1.type = exec # 可执行命令方式
a1.source.sc1.command = tail -F /var/log/message
# sink 配置
a1.sinks.sk1.type = org.apache.flume.sink.kafka.KafkaSink # 使用kafka 作为sink
a1.sinks.sk1.bootstrap.servers = localhost:9092 # 指定kafka地址
a1.sinks.sk1.topic= nginx # kafka定义的topic
# channel 配置
a1.channel.ch1.type = file # 采用文件记录数据
a1.channel.ch1.checkpointDir=~/.flume/file-channel/checkpoint
a1.channel.ch1.dataDirs = ~/.flume/file-dir
# 关联各组关系
a1.sinks.sk1.channel = ch1
a1.source.sc1.channel = ch1