Kubernetes与YARN的结合
Hortonworks在去年启动的项目kubernetes-yarn,旨在将kubernetes框架运行在YARN集群上,做为YARN的一种Application。这样的做的好处是,kubernetes可以与其他已有的Hadoop生态链的框架共享集群,可以参考http://zh.hortonworks.com/blog/openshift-v3-kubernetes-docker-hadoop-y
Hortonworks在去年启动的项目kubernetes-yarn,旨在将kubernetes框架运行在YARN集群上,做为YARN的一种Application。这样的做的好处是,kubernetes可以与其他已有的Hadoop生态链的框架共享集群,可以参考http://zh.hortonworks.com/blog/openshift-v3-kubernetes-docker-hadoop-yarn/。
最近把kubernetes-yarn代码大致过了一下,下面简述它们的整合方案:
简单来说是将kubernetes的scheduler改造成一个的YARN AM,每次为pod分配机器都转向YARN RM提交Application。YARN为Application分配了什么机器,kubernetes scheduler就为pod返回什么机器,其他流程都跟native kubernetes保持一致。
这里需要提两点:
1. kubernetes scheduler被改造成了unmanaged AM,这样可以方便在kubernetes master端调度YARN App
2. 由于实际pod的部署是由kubernetes来负责,不再经过YARN,所以需要向YARN提交一个fake的Application来hold住资源。这里用一个简单的sleep死循环来执行该Application,即实际上不占资源,只是逻辑上防止YARN把资源回收回去。
更多推荐
所有评论(0)