Hadoop2.0介绍
Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop 是一系列的子工程的 总和,其中包含
1. hadoop common : 为其他项目提供基础设施
2. HDFS :分布式的文件系 统
3. MapReduce : A software framework for distributed processing of large data sets on compute clusters 。一个 简化分布式编程的框架。
4. 其他工程包含: Avro( 序列化系 统 ) , Cassandra( 数据 库项目 ) 等
Hadoop,以 Hadoop 分布式文件系统( HDFS ,Hadoop Distributed Filesystem )和 MapReduce ( Google MapReduce 的开源实现)为核心的 Hadoop 为用户提供了系统底层细节透明的分布式基础架构。
对于 Hadoop 的集群来讲,可以分成两大类角色: Master 和 Salve 。一个 HDFS 集群是由一个 NameNode 和若干个 DataNode 组成的。其中 NameNode 作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的 DataNode 管理存 储的数据。 MapReduce 框架是由一个 单独运行在主节点上的 JobTracker 和 运行在每个集群从节点的 TaskTracker 共同 组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个 Job 被提交 时, JobTracker 接收到提交作 业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控 TaskTracker 的 执行。
从上面的介 绍可以看出, HDFS 和 MapReduce 共同 组成了 Hadoop 分布式系 统体系结构的核心。 HDFS 在集群上 实现分布式文件系统, MapReduce 在集群上 实现了分布式计算和任务处理。 HDFS 在 MapReduce 任 务处理过程中提供了文件操作和存储等支持, MapReduce 在 HDFS 的基 础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了 Hadoop 分布式集群的主要任 务。
为什么要使用2.0版本(来自董的博客)
该版本提供了一些新的、重要的功能,包括:
• HDFS HA ,当前只能 实现人工切换。
Hadoop HA 分支 merge 进了该版本,并支持热切,主要特性包括:
( 1 ) NN 配置文件有改变,使得配置更加简单
( 2 ) NameNode 分 为两种角色: active NN 与 standby NN , active NN 对外提供读写服务,一旦出现故障,便切换到 standby NN 。
( 3 ) 支持 Client 端重定向,也就是 说,当 active NN 切 换到 standby NN 过程中, Client 端所有的 进行时操作都可以无缝透明重定向到 standby NN 上, Client 自己感 觉不到切换过程。
( 4 ) DN 同 时向 active NN 和 standby NN 汇报 block 信息。
具体 设计文档参考: https://issues.apache.org/jira/browse/HDFS-1623
当前 Hadoop HA 只能 实现人工切换,该功能在某些情况下非常有用,比如,对 NN 进行升级时,先将 NN 切 换到 standby NN ,并 对之前的 active NN 进行升级,升级完成后,再将 NN 切 换至升级后的 NN 上,然后 对 standby NN 进行升级。
• YARN ,下一代 MapReduce 这是一套资源统一管理和调度平台,可管理各种计算框架,包括 MapReduce 、 Spark 、 MPI 等。
YARN 是一套 资源统一管理和调度平台,可管理各种计算框架,包括 MapReduce , Spark , MPI 等。尽管它是完全重写而成,但其思想是从 MapReduce 衍化而来的,并克服了它在 扩展性和容错性等方面的众多不足。具体参考:
http://hadoop.apache.org/common/docs/r0.23.0/hadoop-yarn/hadoop-yarn-site/YARN.html
• HDFS Federation ,允 许 HDFS 中存在多个 NameNode ,且每个 NameNode 分管一部分目 录,而 DataNode 不 变,进而缩小了故障带来的影响范围,并起到一定的隔离作用。
传统 HDFS 是 master/slave 结构,其中, master (也就是 NameNode )需要存 储所有文件系统的元数据信息,且所有文件存储操作均需要访问多次 NameNode ,因而 NameNode 成 为制约扩展性的主要瓶颈所在。为了解决该问题,引入了 HDFS Federation ,允 许 HDFS 中存在多个 NameNode ,且每个 NameNode 分管一部分目 录,而 DataNode 不 变,也就是 “ 从中央集权 专政改为各个地方自治 ” , 进而缩小了故障带来的影响范围,并起到一定的隔离作用。具体参考:
http://dongxicheng.org/mapreduce-nextgen/nextgen-mapreduce-introduction/
• 基准性能测试
该版本中为 HDFS 和 YARN 添加了性能的基准 测试集,其中 HDFS 测试包括:
( 1 ) dfsio 基准 测试 HDFS I/O 读写性能
( 2 ) slive 基准 测试 NameNode 内部操作的性能
( 3 ) scan 基准 测试 MapReduce 作 业访问 HDFS 的 I/O 性能
( 4 ) shuffle 基准 测试 shuffle 阶段性能
( 5 ) compression 基准 测试 MapReduce 作 业中间结果和最终结果的压缩性能
( 6 ) gridmix-V3 基准 测试集群吞吐率
YARN 测试包括 :
( 1 ) ApplicationMaster 扩展性基准测试
主要 测试调度 task/container 的性能。与 1.0 版本比 较,大约快 2 倍。
( 2 ) ApplicationMaster 恢复性基准 测试
测试 YARN 重 启后,作业恢复速度。稍微解释一下 ApplicationMaster 恢复作 业的功能:在作业执行过程中, Application Master 会不断地将作 业运行状态保存到磁盘上,比如哪些任务运行完成,哪些未完成等,这样,一旦集群重启或者 master 挂掉,重 启后,可复原各个作业的状态,并只需重新运行未运行完成的哪些任务。
( 3 ) ResourceManager 扩展性基准测试
通 过不断向 Hadoop 集群中添加 节点测试 RM 的 扩展性。
( 4 ) 小作 业基准测试
专门测试批量小作业的吞吐率
具体参考:
http://hortonworks.com/blog/delivering-on-hadoop-next-benchmarking-performance/
• 通过 protobufs 来提供HDFS 和YARN 的兼容性
Wire-compatibility for both HDFS & YARN
Hadoop RPC采用了Hadoop自己的一套序列化框架 对 各种 对 象 进 行序列化反序列,但存在一个 问题 : 扩 展性差,很 难 添加新的数据类型同 时 保 证 版本兼容性。 为 此,Hadoop 2.0将数据类型模 块 从RPC中独立出来,成 为 一个独立的可插拔模 块 , 这样 允 许 用 户 根据个人 爱 好使用各种序列化/反序列化框架,比如thrift,arvo,protocal Buffer等,默 认 情况采用Protocal Buffer。
http://hortonworks.com/blog/rpc-improvements-and-wire-compatibility-in-apache-hadoop/
除了以上五个特性外, 还 有两个非常重要的特性正在研 发 中,分别是:
• HDFS快照
用 户 可在任意 时间对 HDFS做快照, 这样 ,在HDFS出 现 故障 时 ,可将数据恢复到某个 时间 点的状 态 。具体参考:
http://hortonworks.com/blog/snapshots-for-hdfs/
• HDFS HA自动 切换
前面介 绍 的第一个功能“HDFS HA”当前只能 实现 人工切 换 ,也就是 说 ,管理 员运 行某个命令,使得acitve NN切 换 到standby NN上。以后将支持自 动 切 换 ,也就是 说 , 监 控模 块 可 检测 出active NN何 时 出 现 故障,并自 动 将之切 换 到standby NN上, 这样 可大大 较 小Hadoop集群 运维 人 员 的工作量。具体参考:
http://s.apache.org/hdfs-autofailover
分享到:
相关推荐
涉及到了Hadoop2.0、Hbase、Sqoop、Flume、Hive、Zookeeper的具体环境搭建
hadoop 2.0 详细安装手册。hadoop 2.0 详细安装手册。
Hadoop 2.0基本架构和发展趋势
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...
实战Hadoop2.0 PPT文档,没有经过修饰的原文档,大家分享学习
Hadoop 2.0安装部署方法,手把手教,如何在linux上安装hadoop
本文是详细的Hadoop2.0安装方法步骤
hadoop2.0版本安装手册,包含hadoop、hive、hbase、mahout、sqoop、spark、storm、整个体系的安装配置
实战Hadoop 2.0:从云计算到大数据(第二版)
hadoop 2.0 文档资料。
为hadoop的学习搭建环境,研究hadoop处理和存储的机制。
大数据处理--hadoop2.0核心架构技术,主要介绍了大数据面临的挑战,而hadoop正是解决这些挑战的重要技术,接着分别介绍了hadoop1.0和hadoop2.0的区别,进而重点讲到hadoop2.0 YARN,详细分析MapReduce及HDFS架构。
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...
Hadoop2.0安装部署、MapReduce编程实践: 1.Hadoop 2.0体系介绍 2.Hadoop 2.0安装部署方法 3.MapReduce编程实践 4.MapReduce和关系型数据库计算速度比较
CentOS6.0-Hadoop安装手册,详细介绍centos下hadoop的搭建过程
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...
开源思想,少要积分,仅供学习参考。 Hadoop2.0 从0到HA安装运行步骤。 开源思想,少要积分,仅供学习参考。 Hadoop2.0 从0到HA安装运行步骤。
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...
第5章 Hadoop 2.0 主流开源云架构(一) 第5章 Hadoop 2.0 主流开源云架构(二) 第5章 Hadoop 2.0 主流开源云架构(三) 第5章 Hadoop 2.0 主流开源云架构(四) 第5章 Hadoop 2.0 主流开源云架构(五) 第6章 ...