Hadoop部署实践·课程总览

《Hadoop部署实践》· 课程总览

课程定位:动手部署与运维能力
建议学时:64 学时(32理论 + 32上机)
核心主线:Linux基础 → 单机/伪分布式 → 完全分布式 → MapReduce编程 → Hive数仓 → HA高可用


一、教材与参考书

教材名称 特点 配套资源
林子雨《大数据技术原理与应用》(第4版) 人民邮电出版社,国内 500+ 高校采用。第 4 版覆盖 Hadoop / HDFS / HBase / NoSQL / MapReduce / Hive / Spark / Flink / 流计算。 讲义PPT、教学大纲、软件、数据集、实验答案、虚拟机镜像、500 道题库(教师可申请)
林子雨《大数据基础编程、实验和案例教程》(第3版) 清华大学出版社,上面那本的配套实践教材。按大数据分析全流程讲:采集→存储→处理→可视化。 实验答案与在线资源可在教材官网下载
《Hadoop权威指南》(第4版)Tom White O'Reilly。讲原理与配置细节最权威,适合教师备课深挖和学生进阶阅读。 -
林子雨《Spark编程基础(Scala版/Python版)》 若课时允许加 Spark 环节,用这本,配套国家级一流课程。 -

二、林子雨全套免费教学资源

重点,直接省掉大量备课工作量

资源 说明 入口
教材配套下载专区(百度网盘) 含最新版讲义 PPT、教学大纲、软件安装包、数据集、实验答案、课程思政素材、虚拟机镜像(学生直接导入 VMware 即可,绕过装环境的坑) 百度网盘
提取码:ziyu
高校大数据课程公共服务平台 厦门大学数据库实验室维护,累计访问 2500 万+。内含 17 本系列教材的全部配套资源、上机实验指南、安装指南。 dblab.xmu.edu.cn
Hadoop 集群安装配置教程 厦大出品,步骤极详细(含 Ubuntu/CentOS 差异、常见错误),可作为学生实验手册直接印发。 集群安装配置教程
机房上机实验指南 与教材课后实验一致的上机指导,直接对应实验课时安排。 dblab.xmu.edu.cn/post/6131
MOOC《大数据系统及应用》 林子雨主讲,每讲配套 PPT 下载,共 7 讲覆盖 Hadoop/HDFS/MapReduce/Hive/YARN。 中国大学MOOC
500 道题库 教师身份可向出版社/官网申请,出卷非常省事。 见教材官网"500道题库"入口
国家智慧教育平台《Hadoop大数据技术与项目实战》 对标国家专业教学标准"大数据平台部署与运维",以"电商平台用户行为数据分析"为项目主线。 课程页

三、官方权威文档

文档 链接 用途
Hadoop Single Node Setup SingleCluster.html 单机 / 伪分布式三步走(standalone → pseudo-distributed → YARN),第 1~2 次实验
Hadoop Cluster Setup ClusterSetup.html 完全分布式:角色划分、5 个配置文件、hadoop-env.sh、守护进程环境变量,第 5 次实验
HDFS Architecture / User Guide HdfsDesign.html 讲存储原理、读写流程、副本机制的理论依据
YARN / MapReduce 官方教程 hadoop.apache.org/docs/stable 下 MapReduce Tutorial、YARN 文档 MapReduce 编程与资源调度
HDFS High Availability(QJM) HDFSHighAvailabilityWithQJM 第 15 次 HA 实验的权威依据
Hive / HBase / Spark / Zookeeper 官方 Getting Started 各项目官网 Documentation 生态组件安装

四、Docker 一键集群

机房环境不统一时的最佳解法
传统方式让每个学生装虚拟机 + 配 3 节点集群,一个班会有 30 种不同的报错。用 Docker Compose 可以 一条命令 起一套全分布式集群,极大降低第 1~2 周的损耗。

仓库 内容 适用环节
hadoop-spark-docker Hadoop 3.4.1 + Spark 3.5.6 全分布式,改 .env 里的 NUM_WORKER_NODES 即可扩缩容,内置 JupyterLab(8888)、HDFS UI(9870)、YARN UI(8088)、Spark History(18080)。MIT 许可。 核心实验环境,一学期通用
eng_dados_cluster Hadoop 3.x + Spark + Hive 3.1.3 + PostgreSQL 元数据库,配置文件按 .env 自动改写,节点数可调。 需要讲 Hive 时
docker-hadoop 基础 Hadoop 3.3.3 + 可选 Pig 节点、Hive 节点,可 make datanode-scaled WORKERS=N 动态扩 DataNode。 演示节点扩缩容
Hadoop_Cluster (HA) 3 Master + Worker + Zookeeper + Hive Metastore,含健康检查、资源限额、持久化卷,完整 HA。 高可用专题实验
Hadoop-Hbase-HA 最大的价值是保留了"手动搭建全过程命令记录"(Documentation 目录),可直接改编成"手动搭建 HA 集群"实验指导书。 HA 手动搭建实验

五、实验清单(16 次)

# 实验 关键产出 / 考察点
1Linux 基础 + 环境准备(虚拟机 / WSL / Docker 三选一)、创建 hadoop 用户能敲出基本命令、理解用户与权限
2JDK 安装 + SSH 免密登录 + 单机/伪分布式 Hadoop 安装jps 看到 NameNode/DataNode
3HDFS Shell 操作 + Web UI(9870)+ IDEA/Eclipse 远程开发环境搭建文件增删改查、能看到块信息
4HDFS Java API 编程:上传下载、目录操作、文件元数据读取可运行的 Java 工程
5完全分布式集群搭建(3 节点:1 Master + 2 Worker)Live Nodes = 2,跑通 WordCount
6集群基准测试(Terasort)+ 故障排查专题性能数据 + 排错记录
7MapReduce 全流程:WordCount 编码→编译→打包→提交→看 YARN 日志理解 split→map→shuffle→reduce
8MapReduce 进阶:去重、排序、TopN、单表关联、多表 Join5 个小作业
9MapReduce 经典案例:倒排索引 / 好友推荐 / PageRank(三选二)综合编程能力
10YARN 资源调度:队列配置、Container 内存/CPU 调优、三种调度器对比调参前后对比
11Hive 安装 + HiveQL:建表、分区表、数据导入、查询HQL 脚本
12Hive 数仓综合:ODS/DWD/DWS 分层 + 电商用户行为分析(UV/PV、漏斗、留存)数仓设计文档 + 结果表
13HBase 安装 + Shell/Java API 的 CRUD、RowKey 设计对比 HBase 与 Hive 适用场景
14数据采集入湖:Flume 采集日志 / Sqoop 同步 MySQL ↔ HDFS ↔ Hive端到端数据链路
15HA 高可用部署:Zookeeper + QJM + NameNode 自动故障转移(模拟 kill 主节点观察切换)故障转移截图与日志分析
16综合项目答辩(集群搭建 + 数据入湖 + 处理分析 + 可视化)演示 + 报告

六、常见故障与排错题库

教学价值极高,建议印成手册发学生

现象 根因与解法
Live Nodes 为 0 / DataNode 启动后消失 多次 hdfs namenode -format 导致 clusterID 不一致。解法:清空所有节点 datanode.data.dir 与 namenode.name.dir 目录后重新格式化(讲清"为什么不能随便 format",是个很好的考点)
SSH 免密登录失败 .ssh 目录权限需 700,authorized_keys 需 600;/etc/hosts 中不能有 127.0.0.1 Master 这类记录
ping 得通但端口不通 CentOS 防火墙未关闭:systemctl stop firewalld && systemctl disable firewalld
Error: JAVA_HOME is not set 需在 hadoop-env.sh 中显式写绝对路径(脚本远程执行时读不到 ~/.bashrc)
9870 / 8088 页面打不开 主机名与 IP 映射错误;或配置文件里写 localhost 而非主机名;检查 yarn.resourcemanager.hostname
Container killed by YARN / 内存不足 yarn.nodemanager.resource.memory-mb 与 mapreduce.map.memory.mb 配置不合理,或虚拟机内存本身不够
Windows 本地跑 MR 报 winutils.exe 缺失 需额外放置 winutils.exe 与 hadoop.dll。建议 Windows 学生统一改用 WSL2 或 Docker
HDFS 副本数告警 / Under-replicated blocks DataNode 数量少于 dfs.replication,教学集群设为 1~2
中文乱码 源文件编码、MR 读写需统一 UTF-8,Hive 表字符集设置
SafeMode 无法写入 刚启动时处于安全模式,hdfs dfsadmin -safemode leave(讲解安全模式机制的好时机)
Hive 启动报 metastore 连接失败 MySQL 驱动未放 $HIVE_HOME/lib、JDBC URL 错误、未初始化 schema(schematool -dbType mysql -initSchema)
HBase 启动后 RegionServer 立刻挂 时钟不同步(hbase.master.maxclockskew)、Zookeeper 未起、主机名解析问题

七、建议的 16 周教学进度

周次 理论 上机
1大数据概述、Hadoop 生态与版本演进、课程项目介绍实验1 Linux 与虚拟机
2Hadoop 项目结构与安装(伪分布式)实验2 伪分布式安装
3HDFS 概念、体系结构、存储原理实验3 HDFS Shell + Web UI
4HDFS 读写过程、容错机制实验4 HDFS Java API
5完全分布式部署、配置文件详解实验5 3 节点集群
6集群管理、基准测试、监控实验6 Terasort + 排错
7MapReduce 模型、体系结构与工作流程实验7 WordCount
8Shuffle 过程原理、阶段测验实验8 去重/排序/TopN
9MapReduce 应用案例剖析实验9 倒排索引/PageRank
10YARN 架构、调度器与资源模型实验10 YARN 调参
11Hive 原理、SQL→MR 转换机制、HA实验11 Hive 安装与 HiveQL
12数据仓库分层设计方法论实验12 电商数仓综合
13HBase 数据模型、Region 与存储机制实验13 HBase CRUD
14数据采集:Flume / Sqoop / Kafka 概览实验14 数据采集链路
15高可用架构(Zookeeper + QJM)、集群运维与调优实验15 HA 部署与故障转移
16综合项目答辩 + 复习答辩

八、考核方案建议

平时(考勤+笔记)20% + 实验报告(16 次,要求含关键截图、日志片段、排错记录,而非只写步骤)40% + 期末实操考试或综合项目(现场搭建/排错 + 答辩)40%。

这门课的核心能力是"遇到问题能解决",所以实验报告的评分重点应放在排错过程而非"照着做成功"。


九、教学案例与数据集

数据集 说明 获取方式
厦大教材配套数据集 含电商用户行为日志(启动日志/事件日志)、数据仓库 10 张表结构字典等,与教材综合案例完全对应 教材官网下载专区(网盘)
MovieLens 数据集 经典推荐系统/MapReduce 练习数据,有 100K / 1M / 25M 多个规模 grouplens.org/datasets/movielens
淘宝用户行为数据集(天池) 亿级行为记录,适合做数据清洗 + Hive 数仓分层 + 漏斗分析综合项目 天池数据集平台搜索 "UserBehavior"
Apache 官方示例作业 hadoop-mapreduce-examples-*.jar 内含 WordCount、Grep、Sort、Terasort(集群基准测试标配)、Pi 估算 随 Hadoop 发行版自带