Hadoop 1.x 由 Common、HDFS、MapReduce 组成。Hadoop 2.x 由 Common、HDFS、YARN、MapReduce 组成。两者的 Common 和 HDFS 部分相同,前者主要为其它模块提供服务,起到辅助作用,后者是 Hadoop 的文件系统。
两个版本的主要区别在于 MapReduce 和 YARN。1.x 版本 MapReduce 负责计算和资源调度,耦合性较大;而 2.x 将这两个功能拆开,MapReduce 负责计算,而 YARN 负责资源调度。
本问主要讲解 HDFS 和 MapReduce 结构,下一篇文章讲解 YARN 结构。
Common
Common 是其它模块的公共接口,提供公用 API。它还提供了 mini 集群、本地库、超级用户、服务器认证和 HTTP 认证等功能。
HDFS
HDFS 是 Hadoop 文件系统,提供了高容错、高扩展、高可靠的分布式存储服务,并提供服务访问接口。
特点
- 可以自动快速检测应对硬件错误;
- 适用于批处理数据场景,更多地追求数据吞吐量,这采用了最高效的数据访问——流式数据访问;
- 还能减少数据传输,转移计算比移动数据更划算;
- 采用一次性模型,一次写入,多次读取,文件一旦写入后就不再修改;
- 考虑到平台的可一支性。