Flume架构及使用例子
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,Flume架构及核心组件(1)Source 收集 负责从什么地方采集数据(2)Channel 记录 (3)Sink 输出官方文档http://flume.apache.org/FlumeUserGui
千家信息网最后更新 2024年11月29日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安全错误
数据库的锁怎样保障安全
心脏出血网络安全事件
网络安全意义20字
wind数据库企业一年多少钱
网络安全法的保护作用
程序数据库配置文件是什么
盘州网络安全系统哪家靠谱
软件开发学习通
严为民看好网络安全哪只股票
高职网络技术省赛心得
互联网金融科技的春天
山西省公安厅网络安全保卫处
服务器运算能力
马鞍山软件开发需要多少钱
网络安全产品要求符合国家
华为h6子路由连服务器
网络安全考核检查
安装数据库维护
服务器存储品牌
win7恢复网络安全模式
服务器存储分布
网络安全工作应急预案制度
静安区银联数据库服务商成本
计算机三级考试网络技术
金融网络安全应对
移动网络安全技术有哪些
安徽数据库安全箱供应商家
荔湾高端网络安全建设
服务器集中式管理优点
软件开发 小城市 转型
成都银生互联网科技公司