Hadoop与YARN:分布式计算的变革之旅
1. Hadoop基础架构及局限性
Hadoop是用于处理、生成和存储大型数据集的分布式系统,其核心组件包括HDFS和MapReduce。不过,它们也存在一些局限性。
1.1 HDFS的局限性
- 缺乏高可用性 :在Hadoop 1.x及更早版本中,HDFS缺乏高可用性。
- 小文件处理效率低 :处理大量小文件时效率不佳。
- 缺乏透明压缩 :不具备透明压缩功能。
- 不支持随机写入 :仅支持追加写入,主要设计用于大文件的高吞吐量顺序读写。
1.2 MapReduce的局限性
- 不适合实时数据访问 :基于批处理架构,不适合需要实时数据访问的场景。
- 不适合全局同步或可变数据共享任务 :属于无共享架构,对于需要全局同步或共享可变数据的任务不太适用。
1.3 版本兼容性问题
- MapReduce API运行时兼容性 :Hadoop 2版本在MapReduce API运行时兼容性方面带来了一些问题,尤其是在
org.hadoop.mapreduce
包中。通常的解决方法是针对Hadoop 2重新编译代码,或者引入兼容性