大数据集群搭建(10)——Flume的多节点集群搭建

本文详细介绍了如何在多节点环境下搭建Flume集群,包括配置数据采集、中转及最终存储到HDFS的全过程。从主节点到从节点的数据流转,通过Avro和HDFS sink实现高效的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flume的多节点集群搭建

1.将主节点的flume拷贝到其他节点上

scp -r  /usr/flume/ root@slaver1:/usr/flume/

scp -r  /usr/flume/ root@slaver2:/usr/flume/

2. 在master上面配置conf文件:  从某个文件夹里面采集数据,采集到的数据sink到slaver2里面(文件名:m-s2.conf)

##########################################################

##主要作用是监听目录中的新增数据,采集到数据之后,输出到avro (输出到agent)

##    注意:Flume agent的运行,主要就是配置source channel sink

##  下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1

#########################################################

a1.sources = r1

a1.sinks = k1

a1.channels = c1

#具体定义source  

a1.sources.r1.type = spooldir

#先创建此目录,保证里面空的  

a1.sources.r1.spoolDir = /logs

#对于sink的配置描述 使用avro日志做数据的消费

a1.sinks.k1.type = avro

a1.sinks.k1.hostname = slaver2

a1.sinks.k1.port = 44444

#对于channel的配置描述 使用文件做数据的临时缓存 这种的安全性要高

a1.channels.c1.type = file

a1.channels.c1.checkpointDir = /home/uplooking/data/flume/checkpoint

a1.channels.c1.dataDirs = /home/uplooking/data/flume/data

#通过channel c1将source r1和sink k1关联起来

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

3. 在slaver1上面写配置文件   (master和slaver1是一样的)

(文件名:s1-s2.conf)

4. 写slaver2的配置文件: 从master,slaver1上获取数据,sink到hdfs上;

(文件名:s2-hdfs.conf)

#########################################################

## 获取zhiyou01,02上的数据,聚合起来,传到hdfs上面

##    注意:Flume agent的运行,主要就是配置source channel sink

##  下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1

#########################################################

a1.sources = r1

a1.sinks = k1

a1.channels = c1

#对于source的配置描述 监听avro

a1.sources.r1.type = avro

a1.sources.r1.bind = slaver2

a1.sources.r1.port = 44444

#定义拦截器,为消息添加时间戳  

a1.sources.r1.interceptors = i1  

a1.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder

#对于sink的配置描述 传递到hdfs上面

a1.sinks.k1.type = hdfs  

             #集群的nameservers名字

             #单节点的直接写:hdfs://master:9000/xxx

a1.sinks.k1.hdfs.path = hdfs://master:9000/flume/%Y%m%d  

a1.sinks.k1.hdfs.filePrefix = events-  

a1.sinks.k1.hdfs.fileType = DataStream  

#不按照条数生成文件  

a1.sinks.k1.hdfs.rollCount = 0  

#HDFS上的文件达到128M时生成一个文件  

a1.sinks.k1.hdfs.rollSize = 134217728  

#HDFS上的文件达到60秒生成一个文件  

a1.sinks.k1.hdfs.rollInterval = 60   

#对于channel的配置描述 使用内存缓冲区域做数据的临时缓存

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100

#通过channel c1将source r1和sink k1关联起来

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1  

5.清空/logs ,slaver1上面没有logs目录,需要建立一个

6.启动

先启动slaver2,再启动master,slaver1

bin/flume-ng agent -n a1 -c conf -f conf/s2-hdfs.conf -Dflume.root.logger=INFO,console

bin/flume-ng agent -n a1 -c conf -f conf/m-s2.conf -Dflume.root.logger=INFO,console

bin/flume-ng agent -n a1 -c conf -f conf/s1-s2.conf -Dflume.root.logger=INFO,console

7.测试

在master或者slaver1的logs里面添加内容,观察hdfs

### 电商场景下实时数据仓库环境搭建 #### Hadoop 集群环境准备 为了构建一个高效的电商实时数据仓库,首先需要建立稳定可靠的Hadoop集群环境。这一步骤不仅涉及硬件资源的选择与分配,还包括软件层面的优化配置,确保整个系统的性能达到最优状态[^1]。 #### Hive 数据仓库安装与MySQL集成 接着,在已有的Hadoop基础上部署与Spark兼容版本的Hive作为数据仓库工具,并将其元数据库(Metastore)存储于外部关系型数据库MySQL之中。这样做可以有效提升查询效率并便于管理复杂的数据结构;同时也方便不同应用间的数据交互和共享。 #### Kafka消息队列设置 考虑到未来可能存在的多种应用场景(如流处理),建议引入Apache Kafka来充当消息中间件的角色。通过Kafka收集来自各个渠道的日志信息或其他形式的数据源输入,从而形成一个高效稳定的传输管道,满足后续数据分析的需求[^2]。 #### Flume 和 Zookeeper 的作用 Flume用于从各种源头捕获日志文件并将它们可靠地传送到目的地——通常是HDFS或Kafka主题内。而Zookeeper则负责协调分布式应用程序中的节点通信和服务发现机制,对于维护集群健康至关重要。 #### Sqoop 迁移传统RDBMS至HDFS/Hive 借助Sqoop工具可实现将现有关系型数据库管理系统(Relational Database Management System, RDMBS),例如MySQL里的表结构及其对应的内容迁移到基于文件系统(HDFS)之上运行的新一代NoSQL解决方案—Hive里去。这一过程有助于打破孤岛式的烟囱架构,促进跨平台之间的协作交流。 #### ETL 流程设计:ODS 至 ADS 层级转换 针对具体业务逻辑定制化开发ETL(Extract Transform Load)作业链路,按照原始明细层(Operational Data Store, ODS)->轻度聚合层(Dimensional Model Layer, DML)>高度汇总层(Application Delivery Service, ADS)这样的顺序逐步提炼加工原始素材直至产出可供上层消费使用的成品报表视图。 ```sql INSERT INTO ods_table SELECT * FROM external_source; -- 各种清洗、过滤操作... INSERT INTO dml_table (SELECT ... FROM ods_table WHERE ...); -- 更复杂的计算、关联等变换... INSERT INTO ads_table (SELECT ... FROM dml_table GROUP BY ...); ``` #### 技术选型考量因素 当企业在评估采用何种云计算服务提供商时,成本效益是一个重要指标之一。以阿里云为代表的国内主流服务商提供了较为经济实惠的价格方案的同时还承担了大量的日常运营维护工作量,使得客户能够更加专注于核心竞争力培养方面的工作[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值