Spark on Kubernetes与阿里云的深度整合

最近,笔者尝试将Spark on Kubernetes与阿里云深度整合,设计一个开箱即用的Spark on Kubernetes镜像。

首先通过Terraform在阿里云上一键创建和销毁Kubernetes集群。然后写了一个脚本生成Spark镜像,使其在Kubernetes上运行时可以直接读写阿里云OSS上的数据。最后还写了一个spark-submit脚本,可以让镜像动态地从阿里云OSS上下载需要运行的主程序包(jar)。

功能: 
?一次编译,多次运行,同时支持共有云、私有云、以及混合云。用户只需专注于Spark job本身,无需担心运维。解耦计算与存储,不再需要HDFS集群,更加节省费用。避免了常规做法中的二次资源调度,进一步提升资源管理效率。每一个job都可以指定资源,实现更好的资源隔离。自带弹性伸缩属性,无需被集群太小所困扰。

优势:
?镜像可以部署到共有云、私有云、或混合云上的任意一个Kubernetes集群
?镜像可以直接读写阿里云的对象存储服务(OSS),节省了HDFS的费用
?可以从阿里云的OSS上自动下载包含Spark job的工作包(jar),不再用为每个工作包制作新的镜像可以从阿里云的OSS上自动下载包含Spark job的工作包(jar),不再用为每个工作包制作新的镜像

特点:
使用Kubernetes原生调度的Spark on Kubernetes是对现有的Spark on Yarn/Mesos的资源使用方式的革命性的改进,主要表现在以下几点:
?1、Kubernetes原生调度:不再需要二层调度,直接使用Kubernetes的资源调度功能,跟其他应用共用整个kubernetes管理的资源池;
?2、资源隔离,粒度更细:原先yarn中的queue在Spark on Kubernetes中已不存在,取而代之的是Kubernetes中原生的namespace,可以为每个用户分别指定一个namespace,限制用户的资源quota;
?3、细粒度的资源分配:可以给每个spark任务指定资源限制,实际指定多少资源就使用多少资源,因为没有了像yarn那样的二层调度(圈地式的),所以可以更高效和细粒度的使用资源;
?4、监控的变革:因为做到了细粒度的资源分配,所以可以对用户提交的每一个任务做到资源使用的监控,从而判断用户的资源使用情况,所有的metric都记录在数据库中,甚至可以为每个用户的每次任务提交计量;
?5、日志的变革:用户不再通过yarn的web页面来查看任务状态,而是通过pod的log来查看,可将所有的Kubernetes中的应用的日志等同看待收集起来,然后可以根据标签查看对应应用的日志;

所有这些变革都可以让我们更高效的获取资源、更有效率的获取资源!

笔者设计的Spark on Kubernetes在普通版本的基础上,与阿里云深度整合,添加了一些比较实用的特性:
?可以通过Terraform配置阿里云ACK Kubernetes集群,一键创建和销毁集群,避免重复劳动以及不必要的集群消耗
?可以直接从阿里云OSS上获取Spark所需jar包,避免重复打包镜像
?可以直接通过阿里云OSS读写数据,避免不必要的HDFS费用

目前正在免费Alpha测试中,具体操作步骤记录在了这篇博客里。欢迎感兴趣的同学一起讨论。也可通过邮箱与笔者联系沟通。

原文地址:https://www.cnblogs.com/GoKubernetes/p/12344928.html

时间: 2024-11-02 10:35:45

Spark on Kubernetes与阿里云的深度整合的相关文章

kubernetes设置阿里云私有仓库

要设置secret不然,docker可以拉取到镜像,kubernetes不能摘取镜像 kubectl create secret docker-registry registry-secret --docker-server=registry-vpc.cn-shenzhen.aliyuncs.com --docker-username=xxx@xxx.com --docker-password=xxxxx --docker-email=xxx@xxx.com -n default 原文地址:ht

持续优化云原生体验,阿里云在Serverless容器与多云上的探索

摘要: 深度解读阿里云的Serverless Kubernetes, 介绍对Open Service Broker API标准的支持. 近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一致.简单.可扩展的接口,将各种类型开发服务便捷统一化地交付到Cloud Foundry.Kubernetes等云原生应用平台:轻松实现多云环境下应用开发,让用户更多

当Kubernets遇上阿里云 -之七层负载均衡(一).

我们知道Kubernetes的service只能实现基于4层的负载均衡,无法提供7层之上的许多特性,诸如基于URL的负载均衡,SSL支持,三方授权等等:Ingress可以实现七层负载均衡的许多功能,唯一的遗憾就是无法提供一个固定的接入IP.想想当你为业务申请了一个域名后准备将域名绑定到IngressIP上的时候,却发现后端IP会时不时的变一下是怎样的心情.本文结合阿里云SLB为Kubernetes服务提供7层之上的负载均衡.本文假设您已经有一个支持阿里云的Kubernetes部署,参考. 本教程

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要: 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕.作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了.参会者囊括了来自电信运营商.云服务提供商.网络设备制造商.芯片厂商.网络软件开发商.研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加. 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕.作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2

云栖大会压轴好戏 阿里云发布视频云V5计划与系列新产品

9月25 - 27日,2019云栖大会如期召开.在大会最后一天下午,阿里云智能视频云分论坛为今年的云栖大会献上了一场精彩的压轴好戏. 视频云V5计划发布 使能生态合作伙伴 会上,阿里云智能研究员金戈进行<视频云新“三网一云”,驱动行业应用创新>主题演讲,并发布视频云V5计划. 金戈表示:阿里云将全面打造新“三网一云”的产业布局,基于领先的视频和网络技术.阿里云达摩院的AI技术与阿里巴巴商业场景实践三级先发优势,凭借视频云多年沉淀的直播网.点播网和音视频通信网三大视频技术的融合应用,和一系列围绕

阿里云通信发布全新号码认证服务, 重新定义手机号码认证的方式

摘要:12月12日,阿里云通信宣布号码认证服务正式商用,将重新定义手机号码认证的方式.因移动应用实名制的政策要求,手机号码认证在移动APP的注册.登录等场景用的越来越多.而对于开发者来说,能完成手机号码认证的选择并不多,一般是借助短信.语音的基础通信通道,自己实现短信验证码或语音验证码来实现.此次,阿里云通信针对移动应用开发者对号码认证的强诉求,推出的号码认证服务可以解决APP在注册.登录和安全校验场景下的号码认证需求.一键注册转化高,免密登录体验佳,机卡校验安全好.一点接入,全网服务. 12月

阿里云人工智能小Ai是比深度学习更高阶的算法

(上图为阿里云人工智能科学家闵万里) 4月8日,在<我是歌手>的第四季总决赛中,出现了一个不速之客,这就是扬言能预测歌王的阿里云人工智能机器人小Ai.开场前,小Ai预测黄致列夺冠概率第一,尽管最终的歌王是李玟,但小Ai成功预测了前三名. 在了解阿里云人工智能机器人小Ai的基本运作过程后,记者认为小Ai的算法其实已经不仅是深度学习,而是在深度学习之上的更高阶算法,并就此向阿里云人工智能科学家闵万里求证,得到的回复:是的. 小Ai算法高阶在哪里? 尽管阿里云方面没有透露关于小Ai更多算法方面的信息

阿里云与WPS深度合作,开放数据处理生态

摘要: 在3月28日举行的2018云栖大会-深圳峰会上,阿里云与金山办公达成深度合作,WPS在线预览与格式转换能力落地阿里云.标志着阿里云存储开放的数据湖体系不但面向计算引擎,还面向应用开放. 在3月28日举行的2018云栖大会-深圳峰会上,阿里云与金山办公达成深度合作,WPS在线预览与格式转换能力落地阿里云. 当前整个企业级数据管理市场面临着数字化转型,如何更好的管理数据.挖掘非结构化数据(专业文档.视频.图像等)的价值是当前企业需要解决的问题.阿里云作为驱动数字中国的核心力量,正与更多的合作

阿里云宣布推出Serverless Kubernetes服务 30秒即可完成应用部署

摘要: 阿里云宣布推出Serverless Kubernetes服务,容器服务新增Serverless形态. 5月2日,阿里云宣布推出Serverless Kubernetes服务,容器服务新增Serverless形态.开发者可在5秒内创建集群.30秒部署应用上线.用户无需管理集群基础设施,还可根据应用实际消耗资源按量付费,此举意在进一步降低容器技术的使用门槛,简化容器平台运维的复杂度.该服务即日起开启公测. 阿里云是国内最大规模的容器公共云平台,为数千多家企业提供容器平台.新推出的Server