Spark Livy 指南及livy部署访问实践

Apache Livy是Spark的一个REST服务,提供交互式和批处理的Spark作业提交方式,简化了在K8s集群中执行Yarn的任务。本文详细介绍了Livy的基本架构、多用户支持、失败恢复和端到端安全等特性,并展示了如何配置与使用Livy进行远程Spark作业提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

Apache Spark 是一个比较流行的大数据框架、广泛运用于数据处理、数据分析、机器学习中,它提供了两种方式进行数据处理,一是交互式处理:比如用户使用spark-shell,编写交互式代码编译成spark作业提交到集群上去执行;二是批处理,通过spark-submit 提交打包好的spark 应用jar到集群中进行执行。

这两种运行方式都需要安装spark客户端配置好yarn集群信息,并打通集群网络访问权限,这种方式存在增加client所在节点资源使用负担和故障发生的可能性,同时client节点故障带来的单点问题。其次是这种方式难以管理、审计以及进行权限管理和控制。

社区有开发一个基于spark 的REST服务livy,apache livy提供通过restful接口或者编程接口提交spark任务,支持提交scala、pyspark、sparkr交互式代码执行spark任务,这样可以通过livy restapi服务作为中转用来解决k8s集群中提交spark任务跑在yarn集群的问题。

Livy基本架构

Livy交互式批处理都搬到了web上,提供restful接口,Livy一方面接收并解析客户端提交的REST请求,转换成相应的操作,另一方面它管理着客户端所启动的spark集群,下面是Livy的架构图:

image.png
livy基本架构

Livy会为用户运行多个session,每个session就是一个常驻的spark context也可以成为一个spark集群。用户通过restful接口在对应的spark context执行代码,Livy服务端通过RPC协议与Spark集群进行通信。根据交互方式不同,Livy将会话分成两种类型:

交互式会话(interactive sess

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

house.zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值