分享

你是否了解Apache Slider--把服务或者应用运行在YARN上

本帖最后由 pig2 于 2014-8-15 23:01 编辑
问题导读:
Apache Slider的目的是什么?
HBase运行在YARN会带来什么好处?







最近,Apache Slider成为了Apache二级孵化项目(官方首页为:http://slider.incubator.apache.org/),该项目是YARN之外的孵化项目,目的是将用户的已有服务或者应用直接部署到YANR上。

随着YARN的完善,目前已经能够直接部署服务,比如HBase,Storm等,而Apache Slider直接源自于Hoya,一个尝试将HBase部署到YARN上的项目。将HBase运行在YARN上将带来众多好处,包括:
(1)在一个物理集群中可同时部署多个HBase集群实例
(2)为HBase集群提供资源隔离(这一点HBase本身做不到)
(3)将多个版本的HBase集群部署到一个物理集群中

当然,以上几个好处也是将其他服务部署到YARN上的好处。

随着Slider项目的发布,用户可以在不对已存在服务进行任何修改的前提下将之部署到YARN集群中。
Slider的基本组成模块如下图所示:


slide-modules1.jpg



在Apache Slide中部署服务,就跟运行一个普通分布式应用程序一样,这个应用程序部署起来了,便意味着服务部署成功。下图表示了一个服务在YARN中的部署流程:
apace-slider2.jpg

使用Slider部署服务时,用户需要编写一系列配置和脚本,并需要自己尝试编写ApplicationMaster和Client实现,仍有一定难度,但是,一旦开发完成后,以后就可以重复使用了,而Slider自带了HBase On YARN,Storm On YARN 和Accumulo On YARN三个实现,大家可仿照这三个实现将自己的服务部署到YARN上。

尽管Slider项目的动机是将已存在的应用程序或者服务部署到YARN上,但就YARN本身而言,还不能够很好地驾驭“服务”这种特殊的应用程序,这主要还是由于YARN的以下几个Feature尚未发布,包括:

(1)RM/NM upgrade:RM和NM在升级时,正在运行的服务/Task不能受干扰,当升级完毕后,再重新向他们注册。相关jira:“Work-preserving nodemanager restart”“Support rolling upgrades in YARN”

(2)Logs management:服务的log是不断增加的,应该支持滚动递增,相关jira:“Roll up for long-lived services in YARN”

(3)服务注册:服务启动后,应该有一个中央化的服务注册组件,以供服务注册地址,从而让其他访问者发现服务的位置。相关jira:“Add a way to register long-lived services in a YARN cluster”

(4)Container资源可动态伸缩。服务运行过程中,对资源的要求可能会改变,因为,应支持在不停止服务的前提下,对服务的资源动态调整。相关jira:“Support changing resources of an allocated container”

以上只是列举了几个重要的feature,还有其他很多feature待开发。总之,让服务能够灵活的运行在YARN上,让YARN成为一个数据中心的资源管理系统,还有很长一段路要走。


#######################################################################
转载自董的博客



没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条