# tutorial-hadoop
**Repository Path**: kunjs/tutorial-hadoop
## Basic Information
- **Project Name**: tutorial-hadoop
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-22
- **Last Updated**: 2026-02-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Hadoop 学习教程
## 项目概述
本教程是一套完整的 Hadoop 生态系统学习指南,涵盖从基础环境搭建到高级应用实战的完整学习路径。通过16周的系统性学习,帮助学员掌握 Hadoop 生态系统的核心组件及其应用。
## 学习环境
- **操作系统**: Ubuntu 22.04 LTS
- **Java 版本**: OpenJDK 17.0.1
- **Maven 版本**: Maven 3.9.12
- **Hadoop 版本**: Hadoop 3.4.2
## 软件版本及下载地址
### 核心组件
1. **OpenJDK 17.0.1**
- 版本:openjdk-17.0.1_linux-x64_bin.tar.gz
- 国内下载地址:https://d10.injdk.cn/openjdk/openjdk/17/openjdk-17.0.1_linux-x64_bin.tar.gz
- apt安装方式:`sudo apt install openjdk-17-jdk`
2. **Maven 3.9.12**
- 版本:apache-maven-3.9.12-bin.tar.gz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.tar.gz
3. **Hadoop 3.4.2**
- 版本:hadoop-3.4.2.tar.gz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.4.2/hadoop-3.4.2.tar.gz
### 数据存储组件
3. **HBase 2.5.13**
- 版本:hbase-2.5.13-hadoop3-bin.tar.gz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.5.13/hbase-2.5.13-hadoop3-bin.tar.gz
### 数据处理组件
4. **Spark 3.5.8**
- 版本:spark-3.5.8-bin-hadoop3.tgz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.5.8/spark-3.5.8-bin-hadoop3.tgz
5. **Hive 4.1.0**
- 版本:apache-hive-4.1.0-bin.tar.gz
- 国内下载地址:https://mirrors.huaweicloud.com/repository/toolkit/apache/hive/hive-4.1.0/apache-hive-4.1.0-bin.tar.gz
6. **Sqoop 1.4.7**
- 版本:sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
- 国内下载地址:https://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
### 数据采集组件
7. **Flume 1.11.0**
- 版本:apache-flume-1.11.0-bin.tar.gz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.11.0/apache-flume-1.11.0-bin.tar.gz
8. **Kafka 3.9.1**
- 版本:kafka_2.13-3.9.1.tgz
- 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.9.1/kafka_2.13-3.9.1.tgz
### 数据同步工具
9. **DataX (阿里开源)**
- 版本:DataX 3.0
- 国内下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
- GitHub地址:https://github.com/alibaba/DataX
## 课程大纲
### 第1-2周:环境搭建
- 大数据概念与 Hadoop 生态概述
- Linux 基础环境配置
- Java JDK 安装与配置
- SSH 免密登录配置
- Hadoop 安装与配置
- Hadoop 单机模式和伪分布式模式
### 第3-4周:HDFS(分布式文件系统)
- HDFS 架构原理
- HDFS 存储机制与副本策略
- HDFS 常用命令操作
- HDFS Web 界面使用
- HDFS 权限管理
- HDFS 快照功能
- HDFS Java API 编程
### 第5周:YARN(资源管理)
- YARN 架构与组件
- YARN 资源调度机制
- YARN 配置与监控
- 容器(Container)概念
- YARN 队列管理
### 第6-7周:MapReduce(分布式计算)
- MapReduce 编程模型
- MapReduce 工作流程
- MapReduce 程序结构
- WordCount 案例实现
- MapReduce 数据类型与序列化
- 自定义分区、排序、分组
- MapReduce 计数器
- MapReduce 性能优化
### 第8-9周:HBase(NoSQL 数据库)
- HBase 架构与数据模型
- HBase 与 RDBMS 的区别
- HBase 安装与配置
- HBase Shell 基本操作
- HBase Java API 编程
- HBase 过滤器使用
- HBase 与 MapReduce 集成
### 第10-11周:Hive(数据仓库)
- Hive 架构与工作原理
- Hive 安装与配置
- HiveQL 语法基础
- 内部表与外部表
- Hive 分区与分桶
- Hive UDF、UDAF、UDTF 自定义函数
- Hive 优化策略
- Hive 与 HBase 集成
### 第12周:Spark(内存计算)
- Spark 架构与特点
- Spark 安装与配置
- Spark Core 编程(RDD)
- Spark SQL 基础
- DataFrame 和 Dataset
### 第13周:数据采集与同步
- Flume 架构与配置
- Sqoop 数据导入导出
- Kafka 消息队列
- 数据流处理流程设计
### 第14周:机器学习应用
- Spark MLlib 概述
- 常用机器学习算法(分类、回归、聚类)
- MLlib 编程实践
- 模型训练与评估
### 第15周:综合应用
- TensorFlowOnSpark 深度学习框架
- DataX 数据同步工具
- 大数据可视化技术
- 综合项目案例分析
### 第16周:项目实战与总结
- 综合项目设计与实现
- Hadoop 集群运维与监控
- 性能调优最佳实践
- 课程总结与进阶学习建议
## 核心组件说明
### 1. HDFS(Hadoop Distributed File System)
- **概述**:分布式文件系统,存储海量数据
- **特点**:高容错性、高可靠性、高吞吐量
- **应用场景**:大数据存储、日志存储
### 2. HBase
- **概述**:分布式 NoSQL 数据库,构建在 HDFS 之上
- **特点**:支持海量数据的随机读写
- **应用场景**:实时数据查询、时序数据存储
### 3. YARN(Yet Another Resource Negotiator)
- **概述**:资源管理系统,统一资源调度
- **特点**:支持多种计算框架
- **应用场景**:集群资源管理、作业调度
### 4. MapReduce
- **概述**:分布式计算框架,分而治之的思想
- **特点**:适合批处理任务
- **应用场景**:离线数据分析、ETL
### 5. Spark
- **概述**:内存计算框架,快速迭代计算
- **特点**:比 MapReduce 快 100 倍
- **应用场景**:实时计算、迭代算法、机器学习
### 6. Hive
- **概述**:数据仓库,提供 SQL 类查询语言
- **特点**:将 SQL 转换为 MapReduce 任务
- **应用场景**:数据仓库、离线分析
### 7. Sqoop
- **概述**:数据传输工具,RDBMS 与 Hadoop 之间数据传输
- **特点**:支持多种数据库
- **应用场景**:数据导入导出
### 8. Flume
- **概述**:日志采集工具,实时数据采集
- **特点**:支持多种数据源和目的地
- **应用场景**:日志采集、实时数据流
### 9. Kafka
- **概述**:消息队列,分布式流处理平台
- **特点**:高吞吐量、低延迟
- **应用场景**:实时数据流、消息队列
## 大数据综合应用
### 1. 机器学习(Spark MLlib)
- 分类算法:逻辑回归、决策树、随机森林
- 回归算法:线性回归、决策树回归
- 聚类算法:K-Means
- 应用场景:预测分析、异常检测
### 2. 深度学习(TensorFlowOnSpark)
- 分布式深度学习训练
- 图像识别、自然语言处理
- 推荐系统
- 应用场景:大规模深度学习
### 3. 数据同步及可视化(DataX)
- 多数据源之间的数据同步
- 数据转换与清洗
- 可视化展示
- 应用场景:数据集成、数据迁移
## 学习路径建议
### 初级阶段(第1-7周)
- 掌握 Hadoop 基础环境搭建
- 理解 HDFS 和 YARN 的基本概念
- 学会 MapReduce 编程基础
### 中级阶段(第8-13周)
- 掌握 HBase、Hive、Spark 等核心组件
- 学会数据采集和同步技术
- 理解数据仓库设计
### 高级阶段(第14-16周)
- 掌握机器学习在大数据中的应用
- 学习深度学习框架
- 完成综合项目实战
## 学习资源
### 官方文档
- Apache Hadoop: https://hadoop.apache.org/
- Apache Spark: https://spark.apache.org/
- Apache Hive: https://hive.apache.org/
- Apache HBase: https://hbase.apache.org/
### 推荐书籍
- 《Hadoop权威指南》
- 《Spark快速大数据分析》
- 《Hive编程指南》
- 《HBase实战》
### 在线课程
- Coursera: Big Data Specialization
- edX: Big Data Analytics
- Udemy: Hadoop and Spark
## 项目文件说明
- `readme.md` - 项目概述和软件版本信息
- `plan.md` - 16周教学提纲
- `knowledge.md` - 知识点考查清单
- `week01.md` ~ `week16.md` - 每周详细学习内容
## 注意事项
1. **版本兼容性**:本教程使用的所有软件版本均经过测试,确保相互兼容
2. **下载地址**:所有软件均提供国内镜像下载地址,确保下载速度
3. **环境要求**:建议至少 8GB 内存,50GB 可用磁盘空间
4. **学习顺序**:建议按照周次顺序学习,循序渐进
5. **实践为主**:每个章节都包含实践操作,建议动手练习
## 许可证
本教程由无锡太湖学院物联网工程学院开发,保留所有权利。
本教程可用于教育、学习和研究目的。在学术研究、论文或出版物中引用本教程时,请注明出处:"Hadoop 学习教程,无锡太湖学院物联网工程学院"。
未经无锡太湖学院物联网工程学院明确书面许可,不得将本教程用于任何商业目的。
详细许可条款请参见 [LICENSE](LICENSE) 文件。
## 联系方式
如有问题或建议,欢迎通过以下方式联系:
- 无锡太湖学院物联网工程学院
---
**开始学习 Hadoop,开启大数据之旅!**