livy简介

article/2025/10/13 10:24:16

livy简介

什么是livy

Livy通过提供REST服务来简化与Spark集群的交互。它可以通过job或者代码片段的方式来提交Spark任务,并同步或者异步地获得任务的结果,以及管理spark context,上述功能通过简单的REST接口或者RPC服务来实现。livy也可以简化Spark与一些应用程序之间的交互,使得Spark可以用于一些web应用(比如Hue)。更多的功能包括:

  • 拥有长期运行的Spark Contexts供多用户提交各种的Spark job;
  • 不同的任务和用户可以共享cached RDD或者DataFrames;
  • 多个SC可以按计划同时运行,为了使得SC具有更好的容错性和并发性,可以将SC运行在yarn/Mesos等集群中;
  • 可以通过java/scala客户端的API来提交预编译好的jar包或代码片段;
  • 支持一定的安全机制;
  • Apache-licensed 100%开源;

与ReadMe中的文档结合再补充几条:

  • 支持Scala,Python,R Shell的交互;
  • 支持 Scala,Java,Python的批量提交;
  • 不需要你对你自己的代码增加任何改变;

产生背景

Apache Spark作为当前最为流行的开源大数据计算框架,广泛应用于数据处理和分析应用,它提供了两种方式来处理数据:一是交互式处理,比如用户使用spark-shell或是pyspark脚本启动Spark应用程序;二是批处理,批处理的程序逻辑由用户实现并编译打包成jar包,spark-submit脚本启动Spark应用程序来执行用户所编写的逻辑,与交互式处理不同的是批处理程序在执行过程中用户没有与Spark进行任何的交互。 两种处理交互方式虽然看起来完全不一样,但它们都需要用户登录到Gateway节点上通过脚本启动Spark进程。这样的方式会有什么问题吗?

  • 首先将资源的使用和故障发生的可能性集中到了这些Gateway节点。由于所有的Spark进程都是在Gateway节点上启动的,这势必会增加Gateway节点的资源使用负担和故障发生的可能性,同时Gateway节点的故障会带来单点问题,造成Spark程序的失败。
  • 其次难以管理、审计以及与已有的权限管理工具的集成。由于Spark采用脚本的方式启动应用程序,因此相比于WEB方式少了许多管理、审计的便利性,同时也难以与已有的工具结合,如Apache Knox等。
  • 同时也将Gateway节点上的部署细节以及配置不可避免地暴露给了登陆用户。 为了避免上述的这些问题,同时提供原生Spark已有的处理交互方式,并且为Spark带来其所缺乏的企业级管理、部署和审计功能,所以产生了livy这一工具

Livy的基本架构

livy的架构

Livy是一个典型的REST服务架构,它一方面接受并解析用户的REST请求,转换成相应的操作;另一方面它管理着用户所启动的所有的集群 sessions。具体的架构可见上图。

用户可以以REST请求的方式通过Livy申请一个新的集群资源,Livy将每一个启动的集群称之为一个会话(session),根据处理交互方式的不同,Livy将会话分成了两种类型:

交互式会话(interactive session)。这与Spark中的交互式处理相同,交互式会话在其启动后可以接收用户所提交的代码片段,在远端的Spark集群上编译并执行。 批处理会话(batch session)。用户可以通过Livy以批处理的方式启动Spark应用,这样的一个方式在Livy中称之为批处理会话,这与Spark中的批处理是相同的。 可以看到,Livy所提供的核心功能与原生Spark是相同的,它提供了两种不同的会话类型来代替Spark中两类不同的处理交互方式。接下来我们具体来了解一下这两种类型的会话。

  • 使用交互式会话与使用Spark所自带的spark-shell,pyspark或sparkR类似,它们都是由用户提交代码片段给REPL,由REPL来编译成Spark作业并执行。主要不同点是spark-shell会在当前节点上启动REPL来接收用户的输入,而Livy交互式会话则是在远端的Spark集群中启动REPL,所有的代码、数据都需要通过网络来传输

  • 批处理会话:在Spark应用中有一大类应用是批处理应用,这些应用在运行期间无须与用户进行交互,最典型的就是Spark Streaming流式应用。用户会将业务逻辑编译打包成jar包,并通过spark-submit启动Spark集群来执行业务逻辑


http://chatgpt.dhexx.cn/article/1aQog8Og.shtml

相关文章

livy部署及应用

一、介绍 Livy把spark交互式和批处理都搬到了web上,提供restful接口,Livy一方面接收并解析客户端提交的REST请求,转换成相应的操作,另一方面它管理着客户端所启动的spark集群 Livy会为用户运行多个session,每个sessio…

C/C++ 实现字符串IP与整数型IP的相互转换

#include <stdio.h> int main() {char ip[32] "192.168.1.151"; //IP值char scIPAddress[32] ""; //存储字符串IPunsigned int nIPAddress 0; //存储整形IPint nTmpIP[4] {0}; //分割IPint i0;//字符串转整形sscanf(ip,"%d.%d.%d.%…

数字字符串转化成 IP 地址

数字字符串转化成 IP 地址 1、参考资料 https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e 2、题目要求 题目描述 现在有一个只包含数字的字符串&#xff0c;将该字符串转化成IP地址的形式&#xff0c;返回所有可能的情况。 例如&#xff1a; 给出的字…

IP地址(IPV6)与long数组之间的转换

IP地址&#xff08;IPV6&#xff09;与long数组之间的转换 《IP地址&#xff08;IPV4&#xff09;与int类型之间的转换》《IP地址&#xff08;IPV6&#xff09;与long数组之间的转换》 一、前言 IPv6是英文“Internet Protocol Version 6”&#xff08;互联网协议第6版&#…

如何将字符数串和IP地址进行转换?

这一部分主要是网络编程中会使用&#xff0c;将数串和IP地址进行转换&#xff0c;在进行转换之前&#xff0c;我们需要知道IP地址在linux系统中的结构体定义 地址类型结构体 具体如下表&#xff1a; 结构体功能特性struct sockaddr套接字地址结构IPv4/IPv6通用struct sockad…

如何将IP地址字符串转换为数字数组

如何将IP地址字符串转换为数字数组 最近在做一个项目用到LWIP&#xff0c;通过触摸屏幕上的数字键盘输入要设置的IP地址和网关地址&#xff0c;然后再用输入的地址去设置重新设置lwip。那么问题就来了&#xff0c;输入的IP地址字符串应该怎么去转换成 ip[4] 数组呢&#xff1f…

IP地址字符串和数组相互转换

需求描述&#xff1a; 将字符串“192.168.2.126”&#xff0c;转成Byte类型&#xff0c;存放在字节数组中。数组内容为 192,168,2&#xff0c;126。反之亦然。 实现方法&#xff1a; 通过C# 库中的IPAddress类完成。 IPAddress类 对应的命名空间是using System.Net; 实现代…

花3个月面过华为测开岗,拿个30K不过分吧?

计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比较短&#xff08;小于两个月&#xff09;&#xff0c;于是找的实习是在一家初创…

华为OD德科面试+机试记录

一、机试&#xff08;6.25&#xff09; 三道编程题&#xff0c;难度偏中。由于时间久远&#xff0c;只记得其中两道题目 1、找车位&#xff08;动态规划&#xff09; 2、题目不记得了&#xff0c;后面如果找到会补充&#xff08;双指针&#xff09; 3、高效的任务规划&#x…

准备4个月过华为测试岗,拿个23k应该不多吧

我大学是学的编程专业&#xff0c;写代码能力非常一般&#xff0c;之前有一个学校项目经验和两段实习。第一份实习是在进大三之前的暑假在广州一家软件公司做前端&#xff0c;第二份实习时大三暑假两个月在一家刚创业的公司做全栈。 我面试的是测试开发&#xff0c;在2022年初…

vSphere Client连接主机提示远程服务器响应时间过长

问题现象 使用VMware vSphere Client连接EXSi主机时&#xff0c;提示“由于远程服务器响应时间过长&#xff0c;请求失败&#xff08;操作超时&#xff09;”。 解决方法 打开Windows注册表&#xff0c;找到HKEY_CURRENT_USER\Software\VMware\VMware Infrastructure Clien…

官网下载eclipse出现mirror.kakao.com 的响应时间过长+解决方法

Eclipse官网:https://www.eclipse.org/downloads/ 问题&#xff1a;官网下载eclipse出现mirror.kakao.com 的响应时间过长 原因&#xff1a;防火墙导致 解决:选择下载国内的镜像 详细过程如下&#xff1a; 每次下载都出现类似下图这样无法访问页面的界面 出现这个的原因大概…

火狐浏览器打开网页显示服务器响应时间过长,网站测试响应时间太长怎么办

有时候通过第三方工具测试服务器的响应时间会很长&#xff0c;而单独创建一个测试站点响应时间又很短。 如用户在http://seo.chinaz.com/ 这里测试的结果。 以下为一个测试出来响应时间较长的站点&#xff1a; 这种情况该怎么办呢&#xff0c;一般来说这种情况并不是网络原因&a…

阿里云服务器部署SpringBoot项目访问响应时间过长的解决

重在解决项目部署完成后的浏览器访问响应时间过长的问题&#xff0c;供SpringBoot项目运行在Centos7的linux系统参考。 安全组 想要在输入地址www.xxxx.top或者ip地址访问不加&#xff1a;[端口] 需要在阿里云的服务器控制台设置安全组&#xff1a; 1.首先点击你的控制台服务…

一次线上java应用响应时间过长问题的排查

最近接手一个老java应用&#xff0c;没多久接到响应时间太长的报警&#xff0c;整个排查过程还是挺有意思的&#xff0c;记录一下。 整个过程中&#xff0c;设计到cpu&#xff0c;内存&#xff0c;垃圾回收&#xff0c;引用&#xff0c;spring, 单例 等等知识&#xff0c;整个下…

阿里云服务器部署项目正常启动,但是访问项目时报响应时间过长

目录 1.问题描述 2.解决办法 1.问题描述 本人使用阿里云部署项目时&#xff0c;将jar包传到服务器中并成功启动后&#xff0c;访问项目时一直报响应时间过长 2.解决办法 这种情况可能是因为阿里云服务器中安全组策略的对应端口没有开放&#xff0c;修改一下就行了&#xff0…

asp.net MVC项目,localhost响应时间过长解决办法

1、vs打开很慢&#xff0c;浏览器如下&#xff1a; 2、那就很可能是IIS问题嘛&#xff0c;IIS重启了一下&#xff0c;还是不行&#xff0c;在地址栏输入localhost&#xff0c;如下图(本人win10系统)&#xff0c;明显IIS也没问题。 3、我们的项目没问题&#xff0c;IIS也没问题&…

解决Chrome 账户登录时,网页显示响应时间过长

解决Chrome 账户登录时&#xff0c;网页显示响应时间过长 chrome 想要开启同步功能&#xff0c;登录Chrome账户时网页显示 响应时间过长 通过此文章https://blog.csdn.net/m0_38020436/article/details/112859777解决了这个问题&#xff0c;于是顺手将过程记录下来。 一、下…

解决github.com 的响应时间过长

github.com 的响应时间过长 windows系统打开目录 C:\Windows\System32\drivers\etc 找到host文件&#xff0c;右键-属性&#xff0c;把只读取消勾选。 利用一下任一网站查询github.com的IP地址 站长之家 http://ip.tool.chinaz.com/github.com 便民查询网 https://ip.51240.co…