Hadoop简化升级并支持其他的编程范式

新方案的主要优势在于:

  • 可伸缩性:支持6000台机器所构成的集群,每台机器拥有16个核心、48GB的RAM、48TB的磁盘大小、100k的并发任务及10k的并发job。
  • 可用性:目前的Job Tracker是单失败点,升级需要停止整个集群才行。
  • 敏捷性:新的设计将map-reduce作为一个用户库,这样同一个集群中所运行的job就可以使用不同的版本了。
  • 更低的延迟:新的设计考虑到了更快的响应、特别是对于小范围的任务。
  • 更好的利用率:毫无疑问,更加精细化的资源与调度模型可以降低资源的浪费。
  • 支持多种编程模型:Murthy说Yahoo内部希望支持其他范式的呼声越来越高,如MPI。

此次重新设计的主旨在于将职责划分为通用的集群资源管理系统,同时还有一个针对map-reduce的独立应用master,实际上可以是任何的编程模型。这将替换掉Job Tracker和Task Tracker。资源管理系统包含如下集群范围内的控制器:

  • 一个ResourceManager,执行集群范围内的资源调度,如内存、CPU、磁盘、网络等等。
  • 一个Scheduler插件,可以针对ResourceManager实现不同的策略(类似于目前的scheduler API,但却拥有不同的接口,并且需要新的实现)。
  • 每个应用一个ApplicationMaster(比如map-reduce编程),可以请求资源、追踪进度、处理失败,并且可以保持计算状态。

下一代的MapReduce架构。来自于Yahoo

可以分布于各个worker节点上,有:

  • 一个共享的NodeManager,可以访问work节点资源(比如说,通过认证请求并开启任务)。
  • 每个应用的Containers(类似于任务),使用本地资源进行计算。

此次重新设计考虑到了:MySQL HandleSocket技术在SNS Feed存储中的应用

  • 通过使用ZooKeeper保存集群状态而实现的高可用性,可以快速实现故障恢复,转向备份资源管理器上。任何 ApplicationMaster都可以将状态放到HDFS中。比如说如果出现崩溃,map-reduce Application Master就会将状态保存起来并且可以快速恢复。
  • 通过定义良好的wire协议实现向后兼容性,考虑到了同一个集群中的ResourceManager和NodeManager不断增加、 同时运行不同版本的map-reduce或是其他编程范式情况下的更新问题。Arun说到,Yahoo!研究员经常会运行MPI、Master- Worker和迭代模型,这么做考虑到了编程模型上的更新,如Hadoop在线原型。
  • 更好的利用率,替换掉了固定的map并使用一种模型减少了资源占用,该模型利用了底层的资源,如磁盘和CPU以避免浪费或是防止竞争。

你可能感兴趣的:(Hadoop简化升级并支持其他的编程范式)