# 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,开启大数据之旅!**