三门课备课资料总览

数据结构 · 开源AI技术实践 · Hadoop部署实践 —— 计算机学院本科课程 | 整理于 2026-09-10

怎么用这份资料:每门课都按「教材 → 视频课 → 官方/开源课程 → 课件题库 → 工具平台 → 实验清单 → 16周进度 → 考核方案」组织。标 优先拿 的是投入产出比最高的核心资源,建议先搞定这几个,其余作为补充。所有链接均可点击。

如果只有半天时间备课,先拿这 8 样

  1. 数据结构:浙大陈越/何钦铭 MOOC(PPT+视频+实验指导全都有)+ PTA 平台直接建班布置作业
  2. 数据结构:《Hello 算法》在线版(动画图解、代码可运行)——发给学生当课外读物效果极好
  3. 数据结构:VisuAlgo 可视化站——课堂演示排序/树/图,省掉 80% 口舌
  4. 开源AI:Datawhale《self-llm 开源大模型食用指南》——国产环境、部署微调全覆盖
  5. 开源AI:LLaMA-Factory —— 中文友好的一键微调框架,本科生动手门槛最低
  6. 开源AI:Ollama + Dify —— 没显卡也能做出能演示的 AI 应用
  7. Hadoop:厦大林子雨教材官网+百度网盘(pan.baidu.com/s/1XvuoT1x-CYPYTEDAV0Jtng 提取码 ziyu)——PPT、大纲、数据集、虚拟机镜像、500 道题库全在里面
  8. Hadoop:Docker 一键集群仓库 —— 机房环境不统一时的救命方案

① 数据结构 计算机本科专业基础课 · 建议 64 学时(48理论 + 16上机)或 72 学时

1. 教材与参考书

优先拿

主教材 · 国内主流三选一

  • 严蔚敏《数据结构(C语言版)》清华大学出版社 —— 最经典,多数高校在用,配《数据结构题集》
  • 李春葆《数据结构教程》(第6版)清华大学出版社 —— 配套最全(PPT+题库+上机实验指导+在线判题),备课最省事
  • 陈越/何钦铭《数据结构》高等教育出版社 —— 与浙大 MOOC 完全配套,含"小白专场"手把手写代码

进阶 / 另类视角

  • 邓俊辉《数据结构(C++语言版 第3版)》清华大学出版社 + 《数据结构习题解析》—— 配学堂在线公开课,体系严谨
  • Weiss《数据结构与算法分析——C语言描述》—— 复杂度分析讲得最好
  • Sedgewick《算法(第4版)》—— Java 实现,配 Princeton 公开课,红黑树/B树讲得清楚
优先拿

给学生看的通俗读物

  • 《Hello 算法》靳宇栋 —— GitHub 63.9k star,近 500 幅动画、代码一键运行。hello-algo.com
  • 《大话数据结构》程杰 —— 生活化类比,学生自学无压力
  • 《算法图解》Aditya Bhargava —— 入门趣味书
  • 《我的第一本算法书》—— 零基础友好

2. 视频公开课

课程特点入口
首选
浙江大学 陈越/何钦铭《数据结构》
国内公认最好的数据结构课。含"小白专场"逐行带写 C 实现、每章实验指导视频、实验报告范例。可直接照搬其实验体系。 中国大学MOOC
青岛大学 王卓《数据结构》 B 站播放量最高,讲解极细致,适合基础薄弱学生回看。 B 站搜索"王卓 数据结构"
国家高等教育智慧教育平台(多校版本) 汇聚湖北工程学院、中国传媒大学等多门《数据结构》慕课,每门都提供完整课件下载,适合拼课。 higher.smartedu.cn 搜索"数据结构"
MIT 6.006 Introduction to Algorithms 英文,讲义+作业+考试题全部开放,可摘题改编。 MIT OCW
UC Berkeley CS61B Project 设计极强(BearMaps 地图寻路、Gitlet 版控系统、BTree 数据库),想做大作业改造的首选参考。 datastructur.es
Princeton Algorithms (Sedgewick) Coursera,配合《算法(第4版)》,图论与字符串讲得深。 Coursera 搜索

3. 课堂可视化工具(强烈建议上课就用这些)

工具用途链接
首选 VisuAlgo支持中文、可单步回退、带伪代码同步高亮。覆盖排序、链表、BST、AVL、红黑树、堆、哈希、图、LCS/DP。visualgo.net/zh
USFCA Data Structure Visualizations交互操作最直观,可自己插入/删除数据看结构变化。适合讲 AVL、B+ 树。cs.usfca.edu/~galles
Algorithm Visualizer可改代码并看动画,支持 C++/Java/JS。讲排序对比时直接用。algorithm-visualizer.org
BinaryTrees(平衡树)专门演示 AVL/RB 旋转过程,讲平衡二叉树必备。520it.com/binarytrees
B-Tree 可视化B 树/B+ 树插入分裂过程,配合"数据库索引为什么用 B+ 树"这个案例。yangez.github.io/btree-js
Big-O Cheat Sheet常见结构/算法复杂度速查表,可打印发给学生。bigocheatsheet.com
Hello 算法动画图解中文、可运行代码、全彩插图,适合做课件截图素材(开源可引用)。hello-algo.com

4. 在线判题 / 作业平台

优先拿

PTA 程序设计类实验辅助教学平台

浙大陈越团队出品,有现成的数据结构题目集,教师可直接建班、布置作业、自动判分、看排名和代码相似度。国内数据结构课最主流的作业平台。

pintia.cn

EduCoder(头歌)

提供成体系的《数据结构》实验实训项目(含环境、用例、评分脚本),可"开箱即开课",适合上机课时紧张的情况。

educoder.net

力扣 / 洛谷 / 牛客

用于补充练习与刷题打卡。力扣有"数据结构专题"卡片;洛谷适合搞竞赛导向;牛客有高校题库。

leetcode.cn · luogu.com.cn · nowcoder.com

自建评测:Gradescope / Autolab / CodeGrader

若学校有服务器,可自建 OJ(如基于 Judge0 / DOMjudge),布置需要提交完整工程的大作业。

5. 实验与课程设计题目库

章节可选实验 / 大作业难度与考察点
线性表一元多项式加减法、约瑟夫环、通讯录管理系统、顺序表与链表性能实测对比★☆☆ 指针/结构体基本功
表达式求值(中缀→后缀→计算)、括号匹配检验、迷宫求解、行编辑程序★★☆ 栈的经典应用
队列停车场管理、银行排队模拟、舞伴配对、打印机任务队列仿真★★☆ 循环队列边界处理
KMP 实现与 BF 对比、文本替换、英文词频统计★★☆ next 数组推导
数组/矩阵稀疏矩阵三元组转置(快速转置)、对称矩阵压缩存储★★☆
哈夫曼编码与图片压缩、二叉排序树、家谱/文件系统目录树、表达式树★★★ 递归设计
校园导游图(Dijkstra)、景区信息管理系统、排课系统(拓扑排序)、铺光纤(最小生成树)、关键路径★★★ 综合度最高
查找哈希表实现简易词典(含冲突处理对比)、B 树模拟数据库索引★★★
排序八大排序可视化 + 性能实测(不同规模/有序度下的比较次数与耗时)★★☆ 实验报告模板友好
综合连连看游戏(图搜索+栈)、小型图书管理系统、压缩/解压工具★★★★ 课程设计

6. 建议的 16 周教学进度

周次教学内容配套实验
1绪论:数据结构三要素、抽象数据类型、算法复杂度分析(大 O 推导)环境熟悉 + 计时函数测复杂度
2线性表:顺序表(插入/删除/查找及移动次数分析)实验1 顺序表
3线性表:单链表、双向链表、循环链表 + 一元多项式实验1 链表(PTA 题集)
4栈:顺序栈、链栈、表达式求值、括号匹配实验2 栈与表达式求值
5队列:循环队列、链队列、停车场管理实验2 队列
6串:BF 算法、KMP 算法与 next 数组推导实验3 KMP + 词频统计
7数组与广义表:特殊矩阵压缩、稀疏矩阵三元组/十字链表稀疏矩阵快速转置
8递归(可选)+ 阶段测验 / 期中小测测验
9树与二叉树:概念、性质、存储结构、四种遍历、遍历应用实验4 二叉树遍历
10线索二叉树、树与森林转换、哈夫曼树与编码实验4 哈夫曼图片压缩
11二叉排序树、平衡二叉树(AVL)、B 树与 B+ 树、并查集实验5 二叉搜索树/AVL
12图:概念、邻接矩阵/邻接表、DFS、BFS实验6 图的遍历
13最小生成树(Prim/Kruskal)、最短路径(Dijkstra/Floyd)、拓扑排序、关键路径实验6 校园导游图
14查找:顺序/二分/分块、哈希函数构造、冲突处理、性能分析实验7 哈希词典
15排序:插入/希尔/冒泡/快排/选择/堆/归并/基数 + 各算法比较与实测实验8 排序性能对比
16综合课程设计答辩 + 总复习课程设计演示与答辩

7. 考核方案建议

平时(考勤+课堂提问+书面作业)20% + 上机实验(8~10 次报告+代码,PTA 自动判分)30% + 期中测验 10% + 期末(笔试 30% + 机试 10%)40%
建议加一项创新分:把算法讲清楚的视频/博客/可视化作品(知识输出),可加 3~5 分,能显著提升学习投入度。

② 开源AI技术实践 建议定位:不是理论课,而是"用开源工具链做出能跑的 AI 应用" · 48~64 学时

先定课纲定位。这门课最容易踩的坑是讲成"AI 理论导论"或"调 API 体验课"。建议主线固定为:
开源模型获取 → 本地部署 → 应用开发(Prompt/RAG/Agent) → 微调 → 评测 → 部署上线 → 参与开源
每节课都要有"跑得起来"的产出,学生才不掉队。下面按这条主线组织资源。

1. 核心开源教程 / 可直接当教材用

优先拿

Datawhale《self-llm 开源大模型食用指南》

GitHub 19.8k star。专为国内环境设计:环境配置、模型下载、部署、调用、LoRA 微调、量化、多模态,覆盖 Qwen/ChatGLM/Llama 等主流开源模型。中文、步骤极细,本科生动手门槛最低。

github.com/datawhalechina/self-llm
优先拿

Datawhale《Happy-LLM 从零开始的大模型原理与实践》

从 NLP 基础 → Transformer → 预训练语言模型 → 手搓 LLaMA2 → 训练 Tokenizer → 预训练小型 LLM → RAG/Agent。适合作为"原理+实践"兼顾的主线教材,有在线阅读版。

GitHub · 在线阅读
优先拿

Hugging Face 官方 LLM 课程(有简体中文版)

12 章,Apache 2.0 许可 —— 意味着你可以直接拿来做课件而不侵权。覆盖 Transformers、Tokenizers、Datasets、微调、分享部署,第 10~12 章含 SFT、LoRA、DPO、GRPO。每章配 Colab 可运行 Notebook。

huggingface.co/learn/llm-course · 中文镜像

Datawhale《llm-universe》个人知识库助手

8.8k star。零基础走通 RAG 全流程:文档加载→切分→向量化→检索→LLM 生成→Gradio 部署。非常适合做本科生的第一个完整项目

github.com/datawhalechina/llm-universe

Datawhale《All-in-RAG》《Hello-Agents》

RAG 全栈指南(从基础到部署);Hello-Agents 讲 ReAct、工具调用、多步推理,帮助"穿透框架看原理"。

all-in-rag · hello-agents

微软《AI Agents for Beginners》官方中文版

12 节课,体系完整,讲 Agent 从零手写再用 LangGraph 重构。微软开源,课件可自由使用。

中文版 · GitHub

2. 分层可选的深度资源

方向资源适合什么
从零训练(理论深) Stanford CS336: Language Modeling from Scratch —— 讲义、作业、代码全部公开,从数据清洗到 tokenizer 到 Transformer 到训练到评测。课程主页 给学有余力学生 / 研究生衔接
直觉理解 Karpathy《Neural Networks: Zero to Hero》(YouTube/B站有中字)—— 从反向传播手写到 GPT 训练。karpathy.ai/zero-to-hero 课前/课后拓展视频
中文系统课 李宏毅《机器学习》《生成式AI》课程(台大)—— 每年更新,中文讲解最清晰。课程主页 原理部分可参考其讲授方式
可视化 3Blue1Brown 神经网络/Transformer 系列(B 站官方中文)、bbycroft.net/llm(LLM 3D 可视化) 课堂演示 Attention 原理
工程化 Linux Foundation LFD473 PyTorch in Practice —— 课件开源,覆盖 Dataset/DataLoader/迁移学习/CV/NLP/TorchServe 部署。课程页 想补 PyTorch 基础时
产业课程大纲参考 上海交大教育集团《AI 大语言模型研发工程师实训课程》—— 完整七阶段大纲(含 Ollama / Dify / vLLM / LLaMA.cpp / DeepSpeed),可直接抄结构。大纲 课纲设计参考

3. 工具链清单(按教学模块)

模块开源工具说明 / 链接
模型获取 ModelScope 魔搭(国内首选)、Hugging Face Hub 国内下载速度与稳定性差距巨大,教学务必优先魔搭。
modelscope.cn · huggingface.co/models
本地推理/部署 Ollama、vLLM、llama.cpp、Xinference Ollama 一行命令跑模型,最适合入门课;vLLM 讲高并发服务;llama.cpp 讲 CPU/量化。
ollama.com · docs.vllm.ai
应用框架 LangChain / LangGraph、LlamaIndex、Gradio、Streamlit Gradio 做 Demo 最快(几行代码出网页),适合实验 3。
LangChain 文档 · gradio.app
低代码平台 Dify、FastGPT、RAGFlow 无编程基础学生也能做出像样应用,且天然支持知识库/Agent/工作流,是期末项目的利器。
github.com/langgenius/dify
向量库 FAISS、Chroma、Milvus 教学用 FAISS 本地文件即可;Milvus 用于讲分布式检索。
微调 LLaMA-Factory(首选)、PEFT、TRL、Unsloth LLaMA-Factory 有 Web UI,命令行恐惧症友好,中文文档全,是本科微调课的首选。
LLaMA-Factory · PEFT 文档
评测 OpenCompass(上海AI Lab)、C-Eval、CMMLU 讲"模型好不好不只是感觉",用榜单和数据说话。
OpenCompass
训练可视化 SwanLab(国产,中文)、Weights & Biases、TensorBoard 微调实验必配,学生看 loss 曲线才有反馈。swanlab.cn

4. 实验项目清单(建议 8~10 次)

#实验产出物所需算力
1本地跑通第一个开源模型:Ollama 拉取 Qwen2.5:1.5B,命令行对话 + Python API 调用 + REST 调用可复现的调用脚本CPU / 4G 内存
2Prompt 工程实战:同一任务写 5 版提示词,对比 Zero-shot / Few-shot / CoT 输出质量对比评测表同上
3Gradio 做个人 AI 助手 Demo,支持多轮对话与参数调节(temperature/top_p)可分享网页链接同上
4量化与性能实测:同一模型 fp16 / int8 / int4 的显存占用、首字延迟、吞吐量对比实测数据表 + 结论同上
5从零手搓 RAG:不使用框架,手写切分→embedding→FAISS 索引→检索→拼 prompt→生成完整 NotebookCPU 或 Colab
6Dify 搭建课程知识库问答机器人(上传课件 PDF,配置切片与检索策略,发布 API)可访问的应用CPU
7Agent 与工具调用:用 LangGraph/Function Call 实现查课表、查天气、查数据库的智能体可演示的 AgentCPU 或 Colab
8LoRA 微调:用 LLaMA-Factory 在自建小数据集上微调 Qwen2.5-0.5B/1.5B(如课程答疑、古诗生成、分类)微调权重 + 训练曲线6~8G 显存 / Colab 免费卡
9微调前后评测:自建 50~100 条测试集,人工打分 + 自动指标(BLEU/ROUGE/准确率)对比评测报告同上
10vLLM 部署 + 压测:并发 1/10/50 下的吞吐与延迟曲线;尝试 OpenAI 兼容接口对接自己的应用压测报告8G+ 显存
期末分组综合项目:本地模型 + 知识库/Agent + Web 界面 + 开源发布(GitHub README)答辩演示按组自定
算力不足怎么办(这是这门课最大的教学风险,务必提前规划):
  • 零 GPU:全程用 Ollama + 小模型(Qwen2.5:1.5B / Qwen3-1.7B / Phi 系列),CPU 可跑;微调改用 魔搭/Colab/Kaggle 免费 GPU。
  • 消费级 8G 显卡:Qwen2.5-7B-int4 推理 + LoRA 微调完全可行,一个实验室几台机器即可分组轮转。
  • 统一环境:提前做好 Docker 镜像或 Conda environment.yml 下发,否则第一节课就会有一半人卡在装环境。
  • 网络:模型权重国内走魔搭,pip 走清华源,Docker 配国内镜像加速——提前写好"环境准备手册"发给学生。

5. 建议的 16 周教学进度

周次主题实践
1导论:开源 AI 全景(模型/框架/平台/许可协议)、环境搭建环境自检
2Python 与 LLM 基础回顾;Hugging Face Hub / ModelScope 使用规范下载并跑通一个模型
3本地部署:Ollama / llama.cpp / vLLM 原理与对比实验1
4Prompt 工程:Zero-shot / Few-shot / CoT / 结构化输出实验2
5Transformer 原理速览:Attention 手撕(NumPy 实现)+ 可视化推演注意力矩阵
6Tokenizer(BPE/WordPiece)与 Embedding 实践训练一个小 tokenizer
7向量库与语义检索:FAISS / Chroma、相似度度量、召回率检索小实验
8RAG 从零实现(切分→向量化→检索→生成)实验5
9RAG 进阶:切片策略、重排 rerank、引用溯源、幻觉治理优化上一周作品
10Dify 低代码平台实战:聊天助手 / 知识库 / 工作流实验6
11Agent:ReAct、工具调用、记忆、多智能体(LangGraph)实验7
12微调原理:全参 vs LoRA vs QLoRA,显存怎么算显存测算练习
13LLaMA-Factory / PEFT 微调实战实验8
14模型评测(OpenCompass/C-Eval)与推理优化(量化、vLLM)实验9、10
15项目开发周(分组,教师巡回答疑)期末项目
16期末项目答辩 + 开源实践(给上游项目提 Issue / 改进文档,体验开源协作)答辩 + PR 截图

6. 考核方案建议

平时(考勤+讨论)20% + 平时实验(8 次,代码 + 实验报告,重点看实测数据与反思)40% + 期末分组项目(可运行演示 + GitHub 仓库 + README + 答辩)40%
强烈建议不做期末笔试。这门课的价值在于"做出来",笔试会把学生逼回背书。若必须笔试,改为"故障排查 + 方案设计"开卷题。

③ Hadoop部署实践 建议定位:动手部署与运维能力 · 64 学时(32理论 + 32上机)

1. 教材

优先拿

林子雨《大数据技术原理与应用》(第4版)

人民邮电出版社,国内 500+ 高校采用。第 4 版覆盖 Hadoop / HDFS / HBase / NoSQL / MapReduce / Hive / Spark / Flink / 流计算。配套:讲义PPT、教学大纲、软件、数据集、实验答案、虚拟机镜像、500 道题库(教师可申请)。

教材官网
优先拿

林子雨《大数据基础编程、实验和案例教程》(第3版)

清华大学出版社,上面那本的配套实践教材。按大数据分析全流程讲:采集→存储→处理→可视化,含 Linux、Hadoop、HDFS、MapReduce、HBase、Hive、Spark、Sqoop、Kafka、Flume、MySQL、MongoDB、Redis、ECharts、Tableau 等,附综合案例(网站用户行为分析)。

实验答案与在线资源可在教材官网下载

《Hadoop权威指南》(第4版)Tom White

O'Reilly。讲原理与配置细节最权威,适合教师备课深挖和学生进阶阅读。

林子雨《Spark编程基础(Scala版/Python版)》

若课时允许加 Spark 环节,用这本,配套国家级一流课程。

2. 林子雨全套免费教学资源(重点,直接省掉大量备课工作量)

资源说明入口
必拿 教材配套下载专区(百度网盘) 含最新版讲义 PPT、教学大纲、软件安装包、数据集实验答案课程思政素材虚拟机镜像(学生直接导入 VMware 即可,绕过装环境的坑) pan.baidu.com/s/1XvuoT1x-CYPYTEDAV0Jtng
提取码: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大数据技术与项目实战》对标国家专业教学标准"大数据平台部署与运维",以"电商平台用户行为数据分析"为项目主线,含项目需求篇、平台部署篇、集群管理篇,是很好的项目式教学参考课程页

3. 官方权威文档(部署细节以官方为准)

文档链接用途
Hadoop Single Node SetupSingleCluster.html单机 / 伪分布式三步走(standalone → pseudo-distributed → YARN),第 1~2 次实验
Hadoop Cluster SetupClusterSetup.html完全分布式:角色划分、5 个配置文件、hadoop-env.sh、守护进程环境变量,第 5 次实验
HDFS Architecture / User GuideHdfsDesign.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生态组件安装

4. 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 手动搭建实验
参考教程:Hadoop3.4.0 + Hive3.1.3 分布式安装一体化 Dockerfile + 集群生成 + Hive 安装 + MySQL 元数据库 + Python 远程连接,中文全流程。 教师自己搭环境时参考

5. 教学案例与数据集

厦大教材配套数据集

含电商用户行为日志(启动日志/事件日志)、数据仓库 10 张表结构字典等,与教材综合案例完全对应,直接用省得造数据。

获取:教材官网下载专区(网盘)

MovieLens 数据集

经典推荐系统/MapReduce 练习数据,有 100K / 1M / 25M 多个规模,适合演示"数据量增大时集群的表现"。

grouplens.org/datasets/movielens

淘宝用户行为数据集(天池)

亿级行为记录,适合做数据清洗 + Hive 数仓分层 + 漏斗分析综合项目。量太大可抽样分发。

天池数据集平台搜索 "UserBehavior"

Apache 官方示例作业

hadoop-mapreduce-examples-*.jar 内含 WordCount、Grep、Sort、Terasort(集群基准测试标配)、Pi 估算。

随 Hadoop 发行版自带,无需下载

公开真实数据补充

NYC Taxi 行程数据(量大适合压测)、中国气象站点数据(适合"求每年最高温度"经典题)、Wikipedia dump(适合倒排索引/PageRank)。

6. 实验清单(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综合项目答辩(集群搭建 + 数据入湖 + 处理分析 + 可视化)演示 + 报告

7. 常见故障与排错题库(教学价值极高,建议印成手册发学生)

现象根因与解法
Live Nodes 为 0 / DataNode 启动后消失多次 hdfs namenode -format 导致 clusterID 不一致。解法:清空所有节点 datanode.data.dirnamenode.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-mbmapreduce.map.memory.mb 配置不合理,或虚拟机内存本身不够
Windows 本地跑 MR 报 winutils.exe 缺失需额外放置 winutils.exe 与 hadoop.dll。建议 Windows 学生统一改用 WSL2 或 Docker
HDFS 副本数告警 / Under-replicated blocksDataNode 数量少于 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 未起、主机名解析问题
教学技巧:把上面这张表做成"排错积分制"——学生踩到的坑写成 issue 提交到班级仓库,每被采纳一条加平时分,学期末自然沉淀成一本《班级排错手册》。这比任何实验报告都更能体现工程能力。

8. 建议的 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%
这门课的核心能力是"遇到问题能解决",所以实验报告的评分重点应放在排错过程而非"照着做成功"。

通用教学建议

① 建一个班级课程仓库

GitHub / Gitee 建仓,按 ppt/ code/ lab/ troubleshooting/ student-projects/ 分目录。每节课的课件和示例代码课前推送。学生交作业也走仓库 PR,顺便练 Git —— 对计算机本科生是刚需技能。

② 环境统一是最大杠杆

数据结构:统一 VS Code / Dev-C++ / CLion 版本,或提供在线编译环境。开源AI:Docker 镜像或 environment.yml 一份。Hadoop:直接发虚拟机镜像或用 Docker Compose。环境上省下的 2 周课时,能多讲一整章。

③ 每门课都配一个"贯穿项目"

数据结构 → 校园导游系统;开源AI → 课程答疑助手;Hadoop → 电商用户行为离线数仓。学生分阶段把每周实验拼成一个完整作品,期末答辩就有东西可讲,也便于形成课程成果展示。

④ 用"排错/踩坑"替代部分作业

尤其 Hadoop 和开源AI 这类工程课,学生照抄步骤完成实验含金量低。让每个学生贡献至少 3 条自己踩过的坑及解法,汇成班级手册,既防抄袭又真实反映能力。

⑤ 三条技术栈交叉点可以联动

数据结构课的图/堆 → Hadoop 的 PageRank、TopN;数据结构课的性能分析 → AI 课的推理吞吐实测;Hadoop 的分布式思想 → AI 课的分布式训练(DeepSpeed)。在课堂上点破这些联系,学生会把三门课串成一张网。

⑥ 版权与合规提醒

Hugging Face 课程、微软 AI Agents 课程、Hello 算法均为宽松开源许可,可自由改编入课件;教材配套 PPT 仅限本校教学使用,勿公开发布到网络。使用开源模型时注意各模型的许可协议(如 Llama 系列有商用限制),这本身也是开源课该讲的内容。

下一步可以让我继续做的:(1)把任一门课展开成完整的教学大纲 Word 文档(含课程目标、毕业要求指标点、思政元素);(2)直接生成某一周的授课 PPT 或实验指导书;(3)搭建 Docker Compose 环境配置文件;(4)出一套期末试卷。说一声即可。