livy的安装使用

article/2025/10/13 8:04:08

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

livy简介

Livy是一个提供rest接口和spark集群交互的服务。它可以提交spark job或者spark一段代码,同步或者异步的返回结果;也提供sparkcontext的管理,通过restfull接口或RPC客户端库。Livy也简化了与spark与应用服务的交互,这允许通过web/mobile与spark的使用交互。其他特点还包含:

  1. 长时间运行的SparkContext,允许多个spark job和多个client使用。
  2. 在多个spark job和客户端之间共享RDD和Dataframe
  3. 多个sparkcontext可以简单的管理,并运行在集群中而不是Livy Server,以此获取更好的容错性和并行度。
  4. 作业可以通过重新编译的jar、片段代码、或Java/Scala的客户端API提交。

Livy结合了spark job server和Zeppelin的优点,并解决了spark job server和Zeppelin的缺点。

  1. 支持jar和snippet code
  2. 支持SparkContext和Job的管理
  3. 支持不同SparkContext运行在不同进程,同一个进程只能运行一个SparkContext
  4. 支持Yarn cluster模式
  5. 提供restful接口,暴露SparkConte

livy安装

下载livy

下载地址,我只下载的是livy-0.5.0-incubating-bin.zip,大小为71M,不要下900多k那个,那个缺少jars包,下载之后将livy上传服务器上

配置livy

安装livy之前需要先安装hadoop和spark,hadoop和spark的安装可以参考我之前的博客。另外livy要求spark只要是Spark 1.6以上,支持scala2.10和scala2.11。
配置环境变量

 

1

 

vim ~/.bashrc

 

添加下面两个环境变量

 

1

2

 

export SPARK_HOME=/usr/lib/spark

export HADOOP_CONF_DIR=/etc/hadoop/conf

 

保存退出之后,输入source ~/.bashrc使环境变量生效

在livy.conf中可以进行一些配置,一般默认就好

 

1

2

3

4

5

6

7

 

//默认使用hiveContext

livy.repl.enableHiveContext = true

//开启用户代理

livy.impersonation.enabled = true

//设置session空闲过期时间

livy.server.session.timeout = 1h

livy.server.session.factory = yarn/local本地模式或者yarn模式

 

运行livy

进入到livy的安装目录下,输入下面命令启动livy

 

1

 

./bin/livy-server

 

出现如下界面表示启动成功

livy使用教程

官网例子
官网api说明
官网的例子已经介绍的很好了,但是它没有介绍怎样调用本地写好的jar包执行spark任务,我在下面会介绍的。
下面我介绍一下几个常用的api,使用python3的request库。
livy官网上说支持local和YARN cluster两种运行模式,在我的测试下,spark自带的集群运行模式Standalone也是支持的

创建session

 

1

2

 

host = 'http://10.4.20.181:8998'

headers = {'Content-Type': 'application/json'}

host是你的主机ip夹端口号,headers是请求头

 

1

2

3

4

 

def create_session():

data = {'kind': 'spark'}

r = requests.post(host + '/sessions', data=json.dumps(data), headers=headers)

print(r.json())

执行上面的函数后,输出如下

在浏览器输入http://10.4.20.181:8998/ui 可以看到livy的ui界面,如下如所示

可以看到session的id,运行状态,点击右边的session也可以查看日志

查询session的转态

 

1

2

3

4

 

def state_session(session_id):

session_url = host + "/sessions/" + session_id + "/state"

r = requests.get(session_url, headers=headers)

print(r.json())

删除session

 

1

2

3

4

 

def delete_session(session_id):

session_url = host + "/sessions/" + session_id

r = requests.delete(session_url, headers=headers)

print(r.json())

向batches提交jar包

 

1

2

3

4

5

 

def submit_jars(jar_name, class_name):

data = {'file': jar_name,

'className': class_name}

r = requests.post(host + '/batches', data=json.dumps(data), headers=headers)

print(r.json())

这里的file指的是hdfs上的路径,className是要运行的类名,官方api中还有许多其他参数,对我来说这两个参数就够用了,其他的我就不介绍了,感兴趣的参考官方api

查看batches执行状态

 

1

2

3

4

 

def batchs_state_session(batch_id):

session_url = host + "/batches/" + batch_id + "/state"

r = requests.get(session_u


http://chatgpt.dhexx.cn/article/crTihnFC.shtml

相关文章

Livy任务提交源码解析

文章目录 简介任务路由代码断任务远程Driver上建立RpcServerLivyServer接收客户端提交代码断任务LivyServer向远程Driver的RpcServer提交任务远程Driver的RpcServer接收任务Driver执行代码断任务Batch任务LivyServer接收batch任务创建BatchSession以提交Spark任务创建SparkYarn…

livy简介

livy简介 什么是livy Livy通过提供REST服务来简化与Spark集群的交互。它可以通过job或者代码片段的方式来提交Spark任务,并同步或者异步地获得任务的结果,以及管理spark context,上述功能通过简单的REST接口或者RPC服务来实现。livy也可以简…

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也没问题&…