Hadoop2.0介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hadoop2.0 新特性: NameNode HA
Hadoop 2.0 HA实现方式:
Others: QJM:HDFS HA using the Quorum Journal Manager to share edit logs between the Active and Standby NameNodes, BookKeeper …
ቤተ መጻሕፍቲ ባይዱ
Hadoop2.0 新特性: YARN-架构及组件
• ResourceManager
– 处理客户端请求
YARN 是Hadoop 2.0 中的资源管理系统, 它是一个通用的资源管理模块,可为各 类应用程序进行资源管理和调度。
– 启动/监控ApplicationMaster
– 监控NodeManager
HDFS2
(redundant, reliable storage)
Hadoop 2.0新特性:
– 由HDFS、MapReduce和YARN三个分支构成 – HDFS:支持NN Federation、HA – MapReduce:运行在YARN上的MR,编程模型不变 – YARN:资源管理系统 –…
• 防止脑裂(brain-split):主备切换时由于切换不彻底等原因导 致Slave误以为出现两个active master,通常采用Fencing机制:
-共享存储fencing,确保只有一个NN可以写入edits -客户端fencing,确保只有一个NN可以响应客户端的请求 - DN fencing,确保只有一个NN可以向DN下发删除等命令
– 资源分配与调度
• NodeManager
– 单个节点上的资源管理
– 处理来自ResourceManager的命令
– 处理来自ApplicationMaster的命令
• ApplicationMaster
– 数据切分
– 为应用程序申请资源,并分配给内部任务
– 任务监控与容错
Hadoop2.0 新特性: YARN-架构及组件
数,用户程序也可指定每个任务需要的虚拟CPU个数 17. priority.setPriority(0);
18.
Setup requirements for worker containers
19. // Resource requirements for worker containers
• 可为每个节点单独配置可用内存,采用线程监控的方案控 20. Resource capability = Records.newRecord(Resource.class);
Other (Search) (Weave…)
YARN (Cluster Resource Management)
HDFS2 (Redundant, Reliable Storage)
运行在YARN上带来的好处 :
– 一个集群部署多个版本 – 计算资源按需伸缩 – 不同负载应用混搭,集群利用率高 – 共享底层存储,避免数据跨集群迁移
• 没引入有效的资源隔离机制,采用了基于jvm的资源隔离机 制,过于粗糙,很多资源,比如CPU,无法进行隔离
Hadoop2.0 新特性: YARN的资源调度模型
核心概念:Container,实现资源动态管理和分配
Hadoop2.0 新特性: YARN的资源调度特点
• 支持CPU和内存两种资源调度方式,允许配置每个节点、 每个任务可用的CPU和内存资源总量
Multi Purpose Platform
Batch, Interactive, Online, Streaming, …
Hadoop 2.0
MapReduce(v2)
(data processing)
Others
(data processing)
YARN
(cluster resource management)
26.
ContainerRequest containerAsk = new ContainerRequest(capability, null, null,
prio•riMtye);sos等资源管理软件
Make resource requests to ResourceManager
27.
rmClient.addContainerRequest(containerAsk);
Hadoop2.0 新特性: YARN-1.0资源调度
核心概念:Slot,只能实现资源的静态管理和分配
• Hadoop 1.0 采用了静态资源设置策略,即每个节点实现配 置好可用的slot总数,这些slot数目一旦启动后无法再动态修 改
• Hadoop 1.0将slot分为Map slot和Reduce slot两种,不允许共 享,同时其它应用也无法共享资源
28. }
Hadoop2.0 新特性: YARN上运行的软件
Applications Run Natively In Hadoop
Batch
InterActive
(MapReduce) (Tez)
OnLine
Streaming
Graph
(HBase) (Storm, S4,…) (Giraph)
IN-Memory HPC MPI (Spark) (OpenMPI)
Hadoop2.0 新特性: YARN-产生背景
• 直接源于MRv1在几个方面的无能
– 扩展性差,JobTracker成为瓶颈 – 可靠性差,NameNode单点故障 – 扩展性差,难以支持MR之外的计算 – 资源利用率低
• 多计算框架各自为战,数据共享困难
– MR:离线计算框架 – Storm:实时计算框架 – Spark:内存计算框架
– 手动把name.dir指向NFS:这是安全的Cold Standby,可以保证元 数据不丢失,但集群的恢复则完全靠手动
– Facebook AvatarNode:Hot Standby,无法自动切换,需要管理 员手动把对外提供服务的虚拟IP映射到Standby NN
– 其它依赖外部的HA机制,譬如DRBD,Linux HA,VMware的 FT等等
Hadoop2.0 新特性: NameNode HA
Hadoop 1.0 HA实现方式及缺陷:
– Secondary NameNode:阶段性合并edits和fsimage以缩短集群启动 时间,不是HA ,无法立刻接管失效的NN及保证数据完整性
– Backup NameNode (HADOOP-4539):它在内存中复制了NN的当 前状态,算是Warm Standby,但无法保证数据完整性
Next-Gen DataProccess Platform-Hadoop2.0介绍
Single Use System
Batch Apps
Hadoop 1.0
MapReduce(v1)
(cluster resource management & data processing)
HDFS
(redundant, reliable storage)
• 可用性
– JobTracker负载较重
– 存在单点故障, 一旦故障,
所有执行的任务的全部失败
• 批处理模式,时效性低
– 仅仅使用MapReduce一种计算方式
• 低效的资源管理
– 把资源强制划分为 map task slot 和 reduce task slot, 当系统中只 有 map task 或者只有 reduce task 的时候,会造成资源的浪费
Hadoop2.0 新特性: YARN-MRv2作业处理流程
Hadoop2.0 新特性: YARN-MRv2作业处理流程
步骤1 用户向YARN 中提交应用程序, 其中包括ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等。 步骤2 ResourceManager 为该应用程序分配第一个Container, 并与对应的NodeManager 通信,要 求它在这个Container 中启动应用程序的ApplicationMaster。 步骤3 ApplicationMaster 首先向ResourceManager 注册, 这样用户可以直接通过ResourceManage 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结 束,即重复步骤4~7。 步骤4 ApplicationMaster 采用轮询的方式通过RPC 协议向ResourceManager 申请和领取资源。 步骤5 一旦ApplicationMaster 申请到资源后,便与对应的NodeManager 通信,要求它启动任务。 步骤6 NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序 等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。 步骤7 各个任务通过某个RPC 协议向ApplicationMaster 汇报自己的状态和进度,以让 ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用 程序运行过程中,用户可随时通过RPC 向ApplicationMaster 查询应用程序的当 前运行状态。 步骤8 应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。
Hadoop2.0 新特性: NameNode HA
Hadoop 2.0 HA实现方式说明:
• 利用共享存储在两个NN间同步edits信息,如NFS等中高端存储设 备内部的各种RAID以及冗余硬件
• DataNode同时向两个NN汇报块信息,让Standby NN保持集群最 新状态
• 用FailoverController watchdog进程监视和控制NN进程,防止因 NN FullGC挂起无法发送heart beat
• 可以根据实际需要和CPU性能将每个物理CPU划分成若干个
虚拟CPU。管理员可为每个节点单独配置可用的虚拟CPU个 15. // Priority for worker containers - priorities are intra-application
16. Priority priority = Records.newRecord(Priority.class);
Hadoop2.0 新特性: NameNode Federation
Hadoop 1.0版本容量及性能缺陷:
– 单NameNode容量限制: 按常规的估算公式1百万个块需要1G内存,1亿个文件
NameNode进程可能需要上百G内存保存元数据信息,受制于 Java内存管理能力限制,上百G内存保基本上达到上限 – 单NameNode性能限制:
Hadoop 2.0 Federation实现方式
• 扩展性
– 集群最大节点数–4000
当 map-reduce job 非常多的时候,会造成很大的 内存开销,潜在来说,也增加了 JobTracker fail 的风险,这也是业界普遍总结出老 Hadoop 的 Map-Reduce 只能支持 4000 节点主机的上限。
– 最大并发任务数–40000
Apache Hadoop 2.0
下一代数据处理框架介绍
主要内容
• Hadoop 1.0 的局限性 • Hadoop 2.0 新特性介绍 • Hadoop现状及最新进展
Hadoop1.0的局限- HDFS
※资源隔离 ※元数据扩展性 ※访问效率 ※数据丢失
Hadoop1.0的局限-MapReduce
所有的元数据信息的读取和操作都需要与NameNode进行 通信,如客户端的addBlock、getBlockLocations,DataNode的 blockRecieved、blockReport等操作,在集群规模变大后, NameNode 会成为性能瓶颈
Hadoop2.0 新特性: NameNode Federation
21. capability.setMemory(128);
22. capability.setVirtualCores(1);
23. 24.
制//内Ma存ke 使cont用ain,er 发requ现est任s t务o Re超sou过rce约Mana定ger的资源量会将其杀死
25. for (int i = 0; i < n; ++i) {