Flume架构及使用例子
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Flume架构及核心组件(1)Source 收集 负责从什么地方采集数据(2)Channel 记录 (3)Sink 输出官方文档http://flume.apache.org/FlumeUserGui
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
linux中安全数据库
云终端共享服务器
软件开发转行能做什么
上海速文网络技术有限公司
山东企业软件开发市场报价
线下网络安全培训哪个好
上海项目软件开发靠谱吗
小班开展网络安全
进入服务器的数据库
北京巨卓腾网络技术
网络安全峰会演讲稿
威胁网络安全的具体因素
网络技术员的认识
数据库开发岗位 面试
管理人员软件开发基础
如何改数据库密码
嘉兴软件开发驻厂需要多少钱
惠普刀片服务器健康管理器
怎样进去网络安全模式6
四川思恩特通讯网络技术公司
空间和云服务器
天下互联网科技有限公司
上海速文网络技术有限公司
国家网络安全威胁
渭南高中生5g软件开发培训
上海软件开发人员工资规定
公安网络安全保卫大队是干什么的
vb 代码新建数据库
profinet网络技术实验
股市网络安全这板块怎么样