Flume架构及使用例子
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,Flume架构及核心组件(1)Source 收集 负责从什么地方采集数据(2)Channel 记录 (3)Sink 输出官方文档http://flume.apache.org/FlumeUserGui
千家信息网最后更新 2025年02月02日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-channel
B端服务器
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安全错误
数据库的锁怎样保障安全
网络安全 pdrr
天谕手游安卓一区服务器找不到
4g网络技术专业
网络安全可实现的威胁包括
网络安全课 新闻报道
carsr数据库
章丘数字化城管软件开发系统
创建数据库连接池要倒包吗
实施思科ios网络安全pt
湖北移动网络安全管理试题
数据库发展中的三个
更改mysql数据库只读
vr软件开发前景
网络安全课程教学设计
各个数据库的字段代码是统一的吗
网络安全论文参考文献大全
清除sd卡隐藏数据库
长沙浪达网络技术有限公司
仙侠游戏服务器修改级数
联通ntp服务器 ip
创立一个数据库
软件开发可以报一建吗
攀枝花软件开发价格走势
vnc服务器
wow服务器网通
数据库触发器作用
js变量输入数据库asp
数据库视图修改字段
数据库技术mysql教材
汽车软件开发六年经验