Flume架构及使用例子
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Flume架构及核心组件(1)Source 收集 负责从什么地方采集数据(2)Channel 记录 (3)Sink 输出官方文档http://flume.apache.org/FlumeUserGui
千家信息网最后更新 2026年11月03日Flume架构及使用例子
Flume架构及核心组件
(1)Source 收集 负责从什么地方采集数据(2)Channel 记录 (3)Sink 输出官方文档
http://flume.apache.org/FlumeUserGuide.html
http://flume.apache.org/FlumeUserGuide.html#starting-an-agent
Flume使用思路
使用flume的关键就是写配置文件
(1)配置Source
(2)配置Channerl
(3)配置Sink
(4)把以上三个组件串起来
样例
样例1:从指定网络端口采集数据输出到控制台
代码实现:
# example.conf: A single-node Flume configuration# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.type = netcata1.sources.r1.bind = localhosta1.sources.r1.port = 44444# Describe the sinka1.sinks.k1.type = logger# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1启动agent
http://flume.apache.org/FlumeUserGuide.html#starting-an-agent
$ bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template -Dflume.root.logger=INFO,console-n 和-name同样含义,为agent名称
-c 和-conf同样含义,为指定一个配置文件
-Dflume.root.logger=INFO,console 在控制台输出执行信息
使用telnet进行测试
telnet localhost 44444输出结果分析
Event:{headers:{} body: 68 65 6c 6c 6f 0d hello}Event是Flume数据传输的基本单元
Event = 可选的header + byte array
样例2:监控一个文件实时采集新增的数据输出到控制台
Agent选型
exec source + memory channel + logger sink
Exec Source文档地址
http://flume.apache.org/FlumeUserGuide.html#exec-source
代码实现
# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.type = execa1.sources.r1.command = tail -F /var/log/test.loga1.sources.r1.shell = /bin/sh -c# Describe the sinka1.sinks.k1.type = logger# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1样例3:将A端服务器日志实时采集到B端服务器
技术选型
exec source + memory channel + avro sinkavro source + memory channel + logger sink代码实现
A端服务器
exec-memory-avro.sources = exec-sourceexec-memory-avro.sinks = avro-sinkexec-memory-avro.channels = memory-channelexec-memory-avro.sources.exec-source.type = execexec-memory-avro.sources.exec-source.command = tail -F /home/hadoop/data/data.logexec-memory-avro.sources.exec-source.shell = /bin/sh -cexec-memory-avro.sinks.avro-sink.type = avroexec-memory-avro.sinks.avro-sink.hostname = hadoop000exec-memory-avro.sinks.avro-sink.port = 44444exec-memory-avro.channels.memory-channel.type = memoryexec-memory-avro.sources.exec-source.channels = memory-channelexec-memory-avro.sinks.avro-sink.channel = memory-channelB端服务器
avro-memory-logger.sources = avro-sourceavro-memory-logger.sinks = logger-sinkavro-memory-logger.channels = memory-channelavro-memory-logger.sources.avro-source.type = avroavro-memory-logger.sources.avro-source.bind = hadoop000avro-memory-logger.sources.avro-source.port = 44444avro-memory-logger.sinks.logger-sink.type = loggeravro-memory-logger.channels.memory-channel.type = memoryavro-memory-logger.sources.avro-source.channels = memory-channelavro-memory-logger.sinks.logger-sink.channel = memory-channel
输出
配置
数据
服务器
服务
代码
控制台
文件
控制
含义
实时
文档
组件
选型
架构
三个
信息
关键
单元
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
中智农互联网科技
西安纸贵互联网科技有限公司
互联网最新的科技
互联网公司 科技公司
互联网科技英文
苏州互联网科技贷款公司
北京禾田雨橡互联网科技
互联网科技创新企业排名
黑科技闪耀互联网之光
中国科技创新与世界互联网大会
特约风豹互联网科技为什么扣费
卓翼科技产业互联网合作
长沙互联网科技
风投北京互联网科技
广州互联网高科技取餐柜
世界互联网科技成果奖
云南互联网科技学费
互联网科技博主张洲
恒生科技指数 中概互联网
互联网科技公司简介
互联网巨头反垄断金融科技
天下捷融互联网科技
居家互联网科技有限公司
昭通互联网科技选哪家
岳阳华臻互联网科技有限公司
阿里互联网科技企业
济南有互联网科技公司吗
智帮互联网科技公司最近动向
科技信息时代互联网发展