大数据项目之电商数仓、Flume安装(完整版)

本文聚焦用户行为数据采集模块的环境准备,详细介绍了Flume在Hadoop环境下的安装步骤,包括安装地址、上传解压、修改名称、删除特定jar包、配置日志文件路径等,还提及了Flume分发及堆内存调整的相关内容。

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

4. 用户行为数据采集模块

4.2 环境准备

4.2.5 Flume安装

按照采集通道规划,需在hadoop102,hadoop103,hadoop104三台节点分别部署一个Flume。

4.2.5.1 安装步骤
4.2.5.1.1 Flume安装部署
4.2.5.1.1.1 安装地址

(1) Flume官网地址:http://flume.apache.org/
(2)文档查看地址:http://flume.apache.org/FlumeUserGuide.html
(3)下载地址:http://archive.apache.org/dist/flume/

4.2.5.1.1.2

(1)将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/software目录下

在这里插入图片描述

(2)解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下

[summer@hadoop102 software]$ tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/

在这里插入图片描述

(3)修改apache-flume-1.9.0-bin的名称为flume-1.9.0

[summer@hadoop102 module]$ mv apache-flume-1.9.0-bin/ flume-1.9.0

在这里插入图片描述

(4)将lib文件夹下的guava-11.0.2.jar删除以兼容Hadoop 3.1.3

[summer@hadoop102 module]$ rm /opt/module/flume-1.9.0/lib/guava-11.0.2.jar

在这里插入图片描述

注意:删除guava-11.0.2.jar的服务器节点,一定要配置hadoop环境变量。否则会报如下异常。

Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

(5)修改conf目录下的log4j.properties配置文件,配置日志文件路径

[summer@hadoop102 conf]$ vim log4j.properties 
flume.log.dir=/opt/module/flume-1.9.0/logs

在这里插入图片描述

4.2.5.2 分发Flume
[summer@hadoop102 ~]$ xsync /opt/module/flume-1.9.0/

在这里插入图片描述

4.2.5.3 项目经验
4.2.5.3.1 堆内存调整

Flume堆内存通常设置为4G或更高,配置方式如下:
修改/opt/module/flume/conf/flume-env.sh文件,配置如下参数(虚拟机环境暂不配置)

export JAVA_OPTS="-Xms4096m -Xmx4096m -Dcom.sun.management.jmxremote"

注:
-Xms表示JVM Heap(堆内存)最小尺寸,初始分配;
-Xmx 表示JVM Heap(堆内存)最大允许的尺寸,按需分配。
在这里插入图片描述把这行注释的代码取消注释,memory Channel消耗的内存比较大,因此需要调大内存,将-Xmx参数调大

### 商场景下实时数据仓库环境搭建 #### 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]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Redamancy_06

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值