文章目录
前言
操作系统环境:Centos 7、Rocky 9 、Almalinux 9、openEuler-25
Hadoop版本:3.4.2
- Hadoop 集群搭建分为伪分布式(单节点模拟集群)和完全分布式(多节点真实集群)。
- 伪分布式(单节点模拟集群)搭建教程见:
大数据环境安装指南】Hadoop单机版环境搭建教程
1.1 Hadoop 核心概述
- Hadoop 是 Apache 基金会开源的分布式存储与计算框架,专为处理海量(TB/PB 级)结构化 / 非结构化数据设计,核心优势是高容错、高可扩展、低成本,基于 “分而治之” 思想,可部署在普通 x86 服务器集群上,解决传统单机处理大数据的性能瓶颈。
- 其核心设计遵循两大原则:
数据本地化:计算向数据移动(而非数据向计算移动),减少网络传输开销;
容错性:通过数据多副本存储,节点故障时自动切换,不影响任务执行。 - Hadoop 3.x+ 版本默认禁止 root 运行 HDFS/YARN 守护进程
1.2 Hadoop 核心组件(3.x 主流架构)
1.HDFS(Hadoop Distributed File System) 分布式文件系统
- 作用:负责海量数据的分布式存储,将大文件切分成固定大小的 “数据块”(默认 128MB),分散存储在集群不同节点,并为每个数据块保留多副本(默认 3 份),保证数据可靠性。
- 核心角色:
- NameNode:管理文件系统的元数据(文件名、块位置、目录结构等),是 “大脑”,单点故障可通过 Standby NameNode 或 QJM 集群容错;
- DataNode:实际存储数据块,定期向 NameNode 汇报心跳和块信息;
- SecondaryNameNode:辅助 NameNode 合并编辑日志,减轻其压力(非热备)。
YARN(Yet Another Resource Negotiator)资源调度与任务管理
- 作用:统一管理集群的计算资源(CPU、内存),为各类计算任务(MapReduce/Spark/Flink)分配资源并调度任务执行。
- 核心角色:
- ResourceManager:全局资源调度器,接收集群资源请求,分配资源给应用;
- NodeManager:每个节点的资源管理器,管理本节点的资源,执行具体任务;
- ApplicationMaster:每个应用的 “管家”,负责向 ResourceManager 申请资源、与 NodeManager 通信启动任务。
MapReduce 分布式计算框架
- 作用:将复杂的计算任务拆解为 “Map(映射)” 和 “Reduce(归约)” 两个阶段,并行处理海量数据。
- 执行流程:
- Map 阶段:将输入数据分片,并行处理,输出键值对;
- Shuffle 阶段:对 Map 输出的键值对排序、分区,传输给 Reduce 节点;
- Reduce 阶段:汇总相同键的数值,输出最终结果。
特点:批处理为主,延迟较高,适合离线大数据计算(如日志分析、数据统计)。
一、前期准备
1.1 服务器规划
推荐至少 3 节点(1 个 Master + 2 个 Slave),节点角色分配:
| 节点 IP | 主机名 | 角色 |
|---|---|---|
| 192.168.3.129 | hadoop01 | NameNode、ResourceManager |
| 192.168.3.130 | hadoop02 | DataNode、NodeManager |
| 192.168.3.131 | hadoop03 | DataNode、NodeManager |
采用三个节点,主节点Master为hadoop01,从节点Slave为hadoop02、hadoop03
1.2 基础环境配置(所有节点执行)
(1)关闭防火墙和 SELinux
# 临时关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭SELinux
setenforce 0 # 临时
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 永久
(2)配置主机名和 hosts 映射
- 配置主机名(每个节点对应修改):
# hadoop01节点
hostnamectl set-hostname hadoop01
# hadoop02节点
hostnamectl set-hostname hadoop02
# hadoop03节点
hostnamectl set-hostname hadoop03
- 配置 hosts 文件(所有节点):
vim /etc/hosts
# 添加以下内容
192.168.3.129 hadoop01
192.168.3.130 hadoop02
192.168.3.131 hadoop03
(3)安装 JDK(Hadoop 依赖 Java)
Hadoop 3.x 推荐 JDK 8(OpenJDK 或 Oracle JDK),需要预先安装,安装步骤详见::
【大数据环境安装指南】 JDK安装
(4)关闭 swap(Hadoop 推荐,避免性能损耗)
# 临时关闭
swapoff -a
# 永久关闭(注释swap分区)
vi /etc/fstab
# 注释掉包含swap的行,例如:
# /dev/mapper/centos-swap swap swap defaults 0 0
二、创建普通用户SSH配置免密登录(所有节点)
Hadoop 组件之间需要基于 SSH 进

最低0.47元/天 解锁文章
920

被折叠的 条评论
为什么被折叠?



