李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
01.Livy工作原理简介
Leefs
2021-06-16 AM
2691℃
0条
# 01.Livy工作原理简介 ### 前言 Livy官网地址:https://livy.incubator.apache.org/ ### 一、概念介绍 `Livy`是Apache的开源项目,目前仍然处于孵化阶段。它提供了一种通过restful接口执行交互式spark任务的机制。通过它可以进一步开发交互式的应用。当然,交互式spark应用其实有许多实现。 ### 二、功能介绍 + 拥有长期运行的Spark Contexts供多用户提交各种的Spark job; + 不同的任务和用户可以共享`cached RDD`或者`DataFrames`; + 多个SC可以按计划同时运行,为了使得SC具有更好的容错性和并发性,可以将SC运行在`yarn/Mesos`等集群中; + 可以通过`java/scala`客户端的API来提交预编译好的jar包或代码片段; + 支持一定的安全机制; + Apache-licensed 100%开源; ### 三、比较 Livy结合了spark job server和Zeppelin的优点,并解决了spark job server和Zeppelin的缺点: ![01.Livy工作原理简介01.png](https://lilinchao.com/usr/uploads/2021/06/56917661.png) ### 四、Livy的三套接口 Livy提供三套管理任务的接口分别是: + 使用`Using the Programmatic API`,通过程序接口提交作业。 + 需要继承`com.cloudera.livy.Job`接口编程,通过`LivyClient`提交 + 使用`RestAPI`的session接口提交代码段方式运行 + 使用`RestAPI`的batch接口提交jar包方式运行 ### 五、Livy执行流程 Livy server启动相应的session,然后提交作业到Yarn集群,当Yarn拉起`ApplicationMaster`进程后启动`SparkContext`,并连接到Livy Server进行通信。 后续执行的代码会通过Livy server发送到Application进程执行。 ![01.Livy工作原理简介02.png](https://lilinchao.com/usr/uploads/2021/06/2165196009.png) 具体执行流程说明: + live-server启动,启动`BatchSessionManager`, `InteractiveSessionManager`。 + 初始化`WebServer`,通过`ServletContextListener`启动`InteractiveSessionServlet`和`BatchSessionServlet`。 + 通过http调用`SessionServlet`的`createSession`接口,创建session并注册到`sessionManager`,`InteractiveSession`和`BatchSession`会创建`SparkYarnApp`,`SparkYarnApp`负责启动Spark作业,并维护`yarnclient`,获取作业信息、状态或kill作业。 + `BatchSession`是以jar包的方式提交作业,运行结束后session作业就结束。 + `InteractiveSession`会启动`com.cloudera.livy.repl.ReplDriver`,`ReplDriver`继承`RSCDriver`,初始化期间会通过RPC连接到`livy-server`,并启动`RpcServer`;其次会初始化Interpreter(支持`PythonInterpreter`,`SparkInterpreter`,`SparkRInterpreter`)。接收来自`livy-server`,并启动`RpcServer`;其次会初始化Interpreter(支持`PythonInterpreter`,`SparkInterpreter`,`SparkRInterpreter`)。接收来自`livy-server`的信息(代码),然后通过Interpreter执行,`livy-server`通过RPC请求作业结果。 *附:* [参考文章链接](https://blog.csdn.net/qq_36330643/article/details/76423235)
标签:
Livy
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1257.html
上一篇
复制菜单树形结构信息
下一篇
02.Livy安装教程
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
Spark Streaming
前端
Hive
数据结构
序列化和反序列化
Kafka
Hbase
递归
Beego
BurpSuite
FileBeat
Jquery
队列
DataWarehouse
Spark RDD
pytorch
Elastisearch
Eclipse
MyBatisX
Linux
稀疏数组
工具
Yarn
DataX
Sentinel
LeetCode刷题
并发编程
数学
Spring
Flink
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭