Apache Slider是一个工具和技术集,用于在Apache Hadoop YARN集群上打包、部署和管理长时间运行的应用程序。
它是Apache的一个孵化项目,在2014-04-29开始孵化,在2018-05-24退役。中间断断续续有过十几次更新。
为什么要开发Slider?
因为Yarn,一般用于一次性的作业提交,如MapReduce、Spark,为作业分配Container资源,当作业完成后就会进行资源的释放。而Slider的想法,是可以将长时间运行的守护进程直接部署到Yarn之上,如HBase、Storm、Accumulo等服务,这意味着Container会保持长时间的运行而不会进行释放。
听着好像不错,但将服务部署到Yarn之上,有什么好处呢?其实,它就是微服务的雏形,和K8S做的事情基本类似。Apache Slider的孵化时间是2014年,而Google的Kubernetes项目开源时间也是2014年。
不得不说,Apache Slider是一个很有远见的项目。
假设将HBase运行在Yarn上后,它便拥有了以下特性:
(1)在一个物理机群中,可以同时部署多个HBase集群。
(2)为HBase集群提供了资源隔离。
(3)可以将多个版本的HBase部署到同一个集群中。
Apache Slider已经内置了HBase On YARN,Storm On YARN 和Accumulo On YARN三个实现。对于其它服务,用户需要编写一系列配置和脚本,并需要自己尝试编写ApplicationMaster和Client实现,仍有一定难度,但是,一旦开发完成后,以后就可以重复使用了。
而且除了微服务这样的应用场景之外,Hive LLAP的运行也需要依赖Slider服务。LLAP是Hive部署在Yarn之上的一个用于数据缓存的服务,这样Hive任务在运行时,可以直接从LLAP中提取数据,或者缓存频繁查询的数据结果。利用LLAP,官方表示可以提升大概25倍的运行效率。
那Apache Slider为什么最后退役了呢?是因为在Hadoop 3.x版本,Yarn已经支持长作业的运行。但对于Hadoop 3.x之前的集群,想要部署LLAP等功能,还需要依赖Slider进行。
如果需要安装Apache Slider,需要从github中获取源码。并且可以尝试在Yarn集群中部署HBase,或者LLAP。
Apache社区除了Slider,其实还有很多有趣和实用的开源项目,之后慢慢为大家分享。