Spark on Kubernetes原生支持浅析
作者简介:无咎,阿里云EMR技术专家。目前专注于大数据开发平台建设。
概述
Kubernetes自推出以来,以其完善的集群配额、均衡、故障恢复能力,成为开源容器管理平台中的佼佼者。从设计思路上,Spark以开放Cluster Manager为理念,Kubernetes则以多语言、容器调度为卖点,二者的结合是顺理成章的。
使用Kubernetes调度Spark的好处:
- 集中式资源调度:接入k8s的Spark应用与其他k8s应用共享资源池。
- 多租户:可利用Kubernetes的namespace和ResourceQuota做用户粒度的资源调度。
- 容器生态:以监控为例,开发者可利用Prometheus检测Spark应用的性能。
Kubernetes社区早期尝试将Spark以standalone模式运行在Kubernetes上。SPARK-18278则