Hadoop 完整入门详解
Apache Hadoop是 Apache 开源的大数据分布式基础框架基于廉价普通服务器集群解决PB/EB 级海量数据的存储、离线批量计算问题是整个大数据生态的基石。灵感源自 Google GFS、MapReduce 论文Java 开发名字源于创始人儿子的玩具大象。一、整体架构四大核心组件Hadoop Common通用工具库、底层依赖、公共 APIHDFS分布式文件存储存数据YARN集群资源调度管理管 CPU / 内存MapReduce离线分布式计算算数据二、三大核心模块详解1. HDFS分布式文件系统大数据仓库定位海量数据持久化存储主从架构NameNode主节点元数据管家存文件路径、目录、块位置、权限不存真实数据只存索引信息DataNode从节点存储真实数据块默认块大小 128MB默认3 副本跨节点存储硬件故障不丢数据特点一次写入、多次读取不支持随机修改高容错、横向无限扩容、流式读写、适合大文件批量存储2. YARN资源调度框架集群大管家定位统一管理集群 CPU、内存资源解耦存储与计算兼容 MapReduce、Spark、Flink 等所有计算引擎ResourceManagerRM全局资源总管资源分配、任务调度NodeManagerNM每节点代理管理本机资源、启动容器、上报状态ApplicationMasterAM单个应用专属调度申请资源、管控任务Container资源最小单位CPU 内存所有任务都跑在容器里3. MapReduce离线计算框架批量处理器核心思想分而治之纯离线批处理不适合实时场景完整流程InputSplit数据分片拆分Map并行处理分片输出key,value键值对Shuffle Sort洗牌、排序、分组Reduce汇总分组数据输出最终结果三、Hadoop 版本演进Hadoop 1.0一体架构NameNode MapReduce 耦合单点故障严重NameNode 挂则集群瘫痪仅支持 MapReduce 计算Hadoop 2.0主流解耦拆分 YARN 独立资源调度新增HA 高可用NameNode 主备支持多计算框架接入Hadoop 3.0优化纠删码替代部分副本降存储开销、支持异构存储、容器化、性能增强、最小副本可改为 2 个四、核心优势低成本只用普通商用服务器无需昂贵小型机 / 超级计算机高可靠数据 3 副本 任务自动重试节点故障不中断业务高扩展集群横向加节点存储与算力线性增长高吞吐批量处理海量数据吞吐量极强生态完善衍生整套大数据全家桶五、Hadoop 大数据生态全家桶围绕 Hadoop 内核扩展的全套工具数据仓库HiveSQL 分析离线数据NoSQL 数据库HBaseHDFS 上的列式数据库数据同步SqoopMySQL↔HDFS日志采集Flume新一代计算引擎Spark内存计算比 MapReduce 快 10~100 倍、Flink实时流计算查询引擎Impala、Presto六、适用场景 不适用场景适合海量日志存储与离线分析大数据离线统计、报表、ETL 数据仓库PB 级历史数据归档、海量文件存储非实时、批量后台数据分析不适合低延迟实时查询、秒杀交易系统频繁随机读写、小文件密集场景在线高频业务数据库场景七、一句话总结Hadoop HDFS 存海量数据 YARN 管集群资源 MapReduce 做离线批量计算是大数据行业的底层基础设施Spark、Hive、数据湖都构建在它之上。