
摘要本文是一份面向 Hadoop 初学者的入门指南系统介绍了 Hadoop 的核心组件、主要支持商以及庞大的生态系统。文章将 Hadoop 生态组件分为高优先级和低优先级两类帮助读者明确学习路径并提供对应的实践课程链接让初学者能够快速上手 Hadoop 技术栈。一、教程简介1.1 适用人群如果你是以下类型的学习者需要搭建 Hadoop 集群但缺乏相关经验想学习 Hadoop 但不知从何入手被网上繁杂的概念介绍搞得头晕那么本教程正是为你准备的通过本教程你将了解 Hadoop 的基本面貌为进一步深入学习打下坚实基础。1.2 教程特点低门槛仅需 2 台 CentOS 虚拟机即可开始学习实践导向通过具体实例感受 Hadoop减少抽象概念讲解重点突出前 21 课覆盖高优先级组件学完即可掌握核心内容资源丰富每个组件都提供对应的实践课程链接二、Hadoop 核心架构2.1 核心组件Apache Hadoop 包含两个核心组件HDFSHadoop Distributed File System分布式文件存储系统MapReduce分布式计算编程框架2.2 主要支持商Hadoop 有两个主要支持商HortonWorks代表社区方向发布 Ambari 安装包Cloudera代表商业方向发布 CDH 安装包最新为 CDH5选择建议CDH 更商业化且稳定但文档为英文且较为杂乱。本教程基于 CDH 版本编写。三、Hadoop 生态系统高优先级以下组件是 Hadoop 生态中的核心部分建议优先学习3.1 HDFS [高]Hadoop 分布式文件系统提供虚拟化的文件存储数据可分布在多台服务器上。对应课程第2课Hadoop 安装教程 (CentOS6 CDH分支 yum方式)第3课Hadoop 安装教程 - 非HA方式 (一台服务器)第4课Hadoop 安装教程 - HA方式 (2台服务器)3.2 YARN (MapReduce 2.0) [高]资源管理和作业调度框架支持 Map 和 Reduce 两个阶段的分布式计算。对应课程第5课YARN 安装以及helloworld (基于centos的CDH)3.3 HBase [高]分布式、面向列的 NoSQL 数据库基于 Google Bigtable 论文实现。对应课程第6课HBase 安装教程第7课HBase 使用教程第8课HBase 的 Java 调用方法3.4 ZooKeeper [高]分布式协调服务为大型分布式系统提供配置维护、名字服务、分布式同步等功能。对应课程第9课ZooKeeper 介绍和使用3.5 Hive [高]数据仓库工具可将 SQL 查询转换为 MapReduce 任务适合统计分析场景。对应课程第10课Hive 安装和使用教程第11课Hive 的 Java 调用3.6 Sqoop [高]数据迁移工具用于在 HadoopHive与传统数据库MySQL、PostgreSQL 等间传输数据。对应课程第12课Sqoop1 安装/导入/导出教程第13课Sqoop1 导入 HBase 以及 Hive第14课Sqoop1 从 HBase 导出 MySQL3.7 Impala [高]实时查询引擎比基于 MapReduce 的 Hive SQL 查询速度快 3-90 倍。对应课程第15课Impala 安装使用教程3.8 Pig [高]数据流语言采用过程式编程模型适合编写即时数据处理脚本。对应课程第16课Pig 安装使用教程3.9 Spark [高]基于内存计算的集群计算系统大幅提升数据分析速度。对应课程第17课更快速的 MapReduce - Spark3.10 HttpFs [高]HDFS 的 HTTP 访问组件提供 RESTful API 操作 HDFS 文件系统。对应课程第18课用 Http 的方式访问 HDFS - HttpFs 教程3.11 Hue [高]Web 客户端提供统一的 Hadoop 组件管理界面。对应课程第19课华丽的控制台 HUE 安装以及使用教程3.12 Oozie [高]工作流引擎用于调度 Hadoop MapReduce 和 Pig 任务。对应课程第20课工作流引擎 Oozie3.13 Phoenix [高]在 HBase 上构建的关系型数据库层支持 SQL 查询且速度比 Impala 更快。对应课程