Hadoop的优化和发展
Hadoop的局限和不足
Hadoop1.0的核心组件(仅指MapReduce和HDFS,不包括Hadoop生态系统内的Pig、 Hive、 HBase等其他组件),主要存在以下不足:
•抽象层次低,需人工编码
•表达能力有限
•开发者自己管理作业( Job) 之间的依赖关系
•难以看到程序整体逻辑
•执行迭代操作效率低
•资源浪费( Map和Reduce分两阶段执行)
•实时性差(适合批处理,不支持实时交互式)
针对hadoop的优化
Hadoop的优化与发展主要体现在两个方面:
•一方面是Hadoop自身两大核心组件MapReduce和HDFS的架构设计改进
•另一方面是Hadoop生态系统其它组件的不断丰富,加入了Pig、 Tez、 Spark和Kafka等新组件
HDFS 2.0的新特性
HDFS HA
HDFS1.0组件及其功能回顾(具体请参见第3章HDFS)名称节点保存元数据:
( 1)在磁盘上: FsImage和EditLog
( 2)在内存中:映射信息,即文件包含哪些块,每个块存储在哪个数据节点
HDFS Federation
1、HDFS 1.0中存在的问题
•单点故障问题
•不可以水平扩展(是否可以通过纵向扩展来解决?)
•系统整体性能受限于单个名称节点的吞吐量
•单个名称节点难以提供不同程序之间的隔离性
•HDFS HA是热备份,提供高可用性,但是无法解决可扩展性、系统性能和隔离性