ARTICLE · 1073469
Hadoop 源码学习手册 02 · Hadoop 全局概览
Hadoop 源码学习手册 02 · Hadoop 全局概览
刚啃完 Hadoop 源码的第二章,脑子里那团乱麻总算理清了。它其实不是一个大程序,而是四个分工明确的子系统。
HDFS 管存,大文件拆成块多台机器放着;YARN 管资源,把集群的 CPU 和内存切成容器分给应用;MapReduce 管算,先快速翻一遍再归拢;Common 就是垫底的基础设施,配置、通信都靠它。这么一分,存储、资源和计算彻底解耦,换框架不用动存储。
顺着这个骨架,书里扒出了六大设计原则。比如 HDFS 只支持追加不能改中间,因为改一个字节就得重写整个块,这在批量分析里是划算的取舍。再比如计算一定要往数据所在节点挪,网络是大数据的瓶颈,搬代码比搬数据便宜得多。
最扎心的是模块依赖和作业提交那条线。Common 是地基,HDFS 和 YARN 盖在上面,MapReduce 跑在 YARN 上、用 HDFS 存数据。一条 MR 作业提交,串起了 Common 的配置、HDFS 的资源存储、YARN 的容器调度和 MapReduce 的主控。不过得提醒一句:别把 HDFS 当数据库用,它不支持随机修改和低延迟点查,想实时查小数据还得上 HBase。
原文Hadoop 源码学习手册 02 · Hadoop 全局概览|口袋通识馆
山西,2小时前,