
Flume知识点入门学习二
发布日期:2021-05-06 15:29:32
浏览次数:26
分类:精选文章
本文共 2636 字,大约阅读时间需要 8 分钟。
Flume 数据传输配置与优化实践
在大数据处理和ETL(Extract、Transform、Load)流程中,Flume 作为一种灵活高效的数据传输工具,广泛应用于数据采集、数据传输和数据存储等场景。本文将详细介绍如何配置Flume 实例,实现多源多目的数据传输。
Flume配置实例:实现多源多目的数据传输
本文将通过一个典型案例,介绍如何配置Flume 实例,实现文件变动监控与数据传输。具体场景如下:
- 需求: 使用 Flume-1 监控特定文件(如 hive.log 文件)的变动,实时将数据传输至 Flume-2 和 Flume-3。
- Flume-2 负责将数据存储至 HDFS。
- Flume-3 负责将数据输出至本地文件系统。
Flume配置详细说明
1. Flume-1配置:实现多通道多端点数据传输
Flume-1 的核心配置文件为 flume1.conf
,主要功能是监控 hive.log 文件变动,并将数据传输至 Flume-2 和 Flume-3。
# Flume-1配置文件:flume1.confa1.sources.r1.type=execa1.sources.r1.command=tail -F /opt/module/hive/logs/hive.loga1.sources.r1.shell=/bin/bash -ca1.sinks.k1.type=avroa1.sinks.k1.hostname=hadoop102a1.sinks.k1.port=4141a1.sinks.k2.type=avroa1.sinks.k2.hostname=hadoop102a1.sinks.k2.port=4142a1.channels.c1.type=memorya1.channels.c1.capacity=1000a1.channels.c1.transactionCapacity=100a1.channels.c2.type=memorya1.channels.c2.capacity=1000a1.channels.c2.transactionCapacity=100a1.sources.r1.channels=c1 c2a1.sinks.k1.channel=c1a1.sinks.k2.channel=c2
2. Flume-2配置:实现数据存储至HDFS
Flume-2 的配置文件为 flume2.conf
,主要功能是接收 Flume-1 的数据,并将数据存储至 HDFS。
# Flume-2配置文件:flume2.confa2.sources.r1.type=avroa2.sources.r1.bind=hadoop102a2.sources.r1.port=4141a2.sinks.k1.type=hdfsa2.sinks.k1.hdfs.path=hdfs://hadoop102:9000/flume2/%Y%m%d/%Ha2.sinks.k1.hdfs.filePrefix=flume2-a2.sinks.k1.hdfs.round=truea2.sinks.k1.hdfs.roundValue=1a2.sinks.k1.hdfs.roundUnit=houra2.sinks.k1.hdfs.useLocalTimeStamp=truea2.sinks.k1.hdfs.batchSize=100a2.sinks.k1.hdfs.fileType=DataStreama2.sinks.k1.hdfs.rollInterval=600a2.sinks.k1.hdfs.rollSize=134217700a2.sinks.k1.hdfs.minBlockReplicas=1a2.channels.c1.type=memorya2.channels.c1.capacity=1000a2.channels.c1.transactionCapacity=100a2.sources.r1.channels=c1a2.sinks.k1.channel=c1
3. Flume-3配置:实现数据输出至本地文件系统
Flume-3 的配置文件为 flume3.conf
,主要功能是接收 Flume-1 的数据,并将数据输出至本地文件系统。
# Flume-3配置文件:flume3.confa3.sources.r1.type=avroa3.sources.r1.bind=hadoop102a3.sources.r1.port=4142a3.sinks.k1.type=file_rolla3.sinks.k1.sink.directory=/opt/module/datas/flume3a3.channels.c1.type=memorya3.channels.c1.capacity=1000a3.channels.c1.transactionCapacity=100a3.sources.r1.channels=c1a3.sinks.k1.channel=c1
Flume集群部署与启动
集群环境准备:部署三个节点(以 hadoop102 为例),每个节点上安装 Flume。
启动命令:
# 启动Flume-3./flume-3 -config /opt/module/flume/conf/flume3.conf# 启动Flume-2./flume-2 -config /opt/module/flume/conf/flume2.conf# 启动Flume-1./flume-1 -config /opt/module/flume/conf/flume1.conf
测试与验证
验证 Flume-3 输出:
- 检查本地文件目录
/opt/module/datas/flume3
是否有新文件生成。
验证 HDFS 数据存储:
- 使用
hdfs dfscommands -ls hdfs://hadoop102:9000/flume2/
查看是否有新的文件夹和文件生成。
总结
通过以上配置和部署,Flume 实现了文件变动监控与多目的数据传输。本文详细介绍了 Flume 的配置方法以及集群部署与测试验证流程。Flume 的灵活配置和高效传输特性,使其成为大数据处理和ETL 流程中不可或缺的工具。
发表评论
最新留言
不错!
[***.144.177.141]2025年05月06日 16时30分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java基础:按位运算符
2023-01-29
License Server上找不到指定版本的XenApp License
2023-01-31
License授权
2023-01-31
Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据
2023-01-31
Linq 合并多个查询条件
2023-01-31
LintCode_114 不同的路径,115 不同的路径 II
2023-01-31
Linux cat 命令的进化版:Bat 0.25 正式发布,行压缩功能亮点十足!
2023-01-31
linux centos 安装 docker-compose 1.27.4
2023-01-31
Linux CPU管理及监控与性能评估
2023-01-31
Linux LVM学习总结——创建卷组VG
2023-02-01
linux mongo是否启动命令行,Linux下Mongodb安装和启动配置
2023-02-01
Linux Netfilter框架之conntrack连接跟踪机制
2023-02-01
Linux NFS存储服务介绍与参数说明
2023-02-01
Linux NFS服务器的安装与配置详解
2023-02-01
Linux nohup命令不再默认输出日志文件
2023-02-01
Linux OOM-killer 内存不足时kill高内存进程的策略
2023-02-01
Linux OpenSSL 生成CA证书及终端用户证书
2023-02-01
linux php环境文件可以随便放吗,linux下如何安装php环境
2023-02-01
Linux ps命令,使用的好,效率爆棚!
2023-02-01