Apache Livy介绍与部署

一、软件概述

Apache Livy is an open source REST interface for interacting with Apache Spark from anywhere. It supports executing snippets of code or programs in a Spark context that runs locally or in Apache Hadoop YARN.

  • Interactive Scala, Python and R shells
  • Batch submissions in Scala, Java, Python
  • Multiple users can share the same server (impersonation support)
  • Can be used for submitting jobs from anywhere with REST
  • Does not require any code change to your programs

Apache Livy 是一个为 Apache Spark 提供的强大而灵活的 RESTful 接口,旨在让开发者无论在何处,都能轻松地与 Spark 进行交互。这个开源项目支持执行代码片段或程序,并且可以在本地 Spark 环境或 Apache Hadoop YARN 集群中运行。
Livy 的核心功能包括:

  • 交互式 Shell:提供 Scala、Python 和 R 语言的交互式 shell。
  • 批处理提交:支持 Scala、Java 和 Python 语言的批处理作业提交。
  • 共享服务器:多用户可以安全地共享同一个 Livy 服务实例(支持身份冒充)。
  • REST API 支持:无需修改代码,即可通过 RESTful API 方便地提交任务。
  • 兼容性广泛:适配各种 Spark 版本,无需重新编译。

应用场景

  • 大数据分析:开发人员可以通过 Livy 快速向分布式 Spark 集群提交数据处理任务,无需直接操作集群。
  • Web 应用集成:将 Livy 集成到 Web 应用中,实现前端直连 Spark 进行实时数据分析。
  • 远程协作:远程团队可以利用 Livy 的 REST API 在同一平台上进行合作,提高协同效率。
  • 教学环境:教育者可以利用 Livy 创建一个互动的 Spark 学习平台,让学生通过 REST 请求提交作业并查看结果。

总的来说,Apache Livy 是一个强大、开放且易于使用的工具,对于那些希望在 Spark 上构建更高效、更灵活的数据处理系统的开发者而言,它是一个理想的选择 

二、资料地址

1、官网地址

Apache Livy

2、代码地址

GitHub - apache/incubator-livy: Apache Livy is an open source REST interface for interacting with Apache Spark from anywhere.

3、下载地址

Livy - Downloads

4、接口文档

Livy Docs - REST API

三、执行流程

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

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

  1. 交互式会话(interactive session):交互式会话在其启动后可以接收用户所提交的代码片段,在远端spark集群中编译并执行。
  2. 批处理会话(batch session):用户可以通过Livy以批处理的方式启动Spark应用。

这两种方式与原生spark是类似的,其中交互式会话它们的主要不同点是,spark-shell会在当前节点上启动REPL来接收用户的输入,而Livy交互式会话则是在远端的Spark集群中启动REPL,所有的代码、数据都需要通过网络来传输。

四、软件安装

1、软件下载

Index of /dist/incubator/livy/0.8.0-incubating

2、上传

将软件上传到Linux系统的目录下/usr/local/soft/

3、解压 

cd /usr/local/soft/
unzip apache-livy-0.8.0-incubating_2.12-bin.zip

4、拷贝配置文件

cd /usr/local/soft/apache-livy-0.8.0-incubating_2.12-bin
mkdir log
cd conf
cp livy.conf.template livy.conf
cp livy-env.sh.template livy-env.sh

5、修改livy.conf配置文件

livy.spark.master = yarn
livy.spark.deploy-mode = client

6、修改livy-env.sh文件

export HADOOP_CONF_DIR=/usr/local/soft/hadoop-3.4.0/etc/hadoop
export SPARK_HOME=/usr/local/soft/spark-3.5.1-bin-hadoop3
export JAVA_HOME=/usr/local/soft/jdk1.8.0_381
export LIVY_LOG_DIR=/usr/local/soft/apache-livy-0.8.0-incubating_2.12-bin/log 

注:hadoop、spark安装请参考其它部署文章 

7、启动

cd /usr/local/soft/apache-livy-0.8.0-incubating_2.12-bin/
bin/livy-server start


 查看状态

bin/livy-server status

关闭

 bin/livy-server stop

8、访问

浏览器输入http://node11:8998/ui

参考:

一文带你弄懂Livy——基于Apache Spark的REST服务 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

源图客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值