tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

Livy 简介

PDF
聚焦模式
字号
最后更新时间: 2025-01-03 15:02:25
Apache Livy 是一个可以通过 REST 接口与 Spark 集群进行交互的服务,它可以提交 Spark 作业或者 Spark 代码片段,同步或者异步的进行结果检索以及 Spark Context 上下文管理,Apache Livy 简化 Spark 和应用程序服务器之间的交互,从而使 Spark 能够用于交互式 Web/移动应用程序。

Livy 特性

Livy 还支持如下功能:
由多个客户端长时间运行可用于多个 Spark 作业的 Spark 上下文。
跨多个作业和客户端共享缓存的 RDD 或数据帧。
可以同时管理多个 Spark 上下文,并且 Spark 上下文运行在群集(YARN/Mesos)而不是 Livy 服务器,以实现良好的容错性和并发性。
作业可以作为预编译的 jar,代码片段或通过 java/scala 客户端 API 提交。
通过安全的认证通信确保安全。


使用 Livy

1. 访问http://IP:8998/ui 可以进入 Livy 的 UI 页面(IP 为外网 IP,请自行为安装有 Livy 的机器申请外网 IP,并编辑设置安全组策略来开通对应的端口以进行访问)。
2. 创建一个交互式会话。
curl -X POST --data '{"kind":"spark"}' -H "Content-Type:application/json" IP:8998/sessions
3. 查看 Livy 上存活的 sessions。
curl IP:8998/sessions
4. 执行代码片段,简单的加法操作(这里相当于指定的 session 0,如果有多个 session,也可以指定其他 session)。
curl -X POST IP:8998/sessions/0/statements -H "Content-Type:application/json" -d '{"code":"1+1"}'
5. 计算圆周率(执行 jar 包)。 步骤1:上传 jar 包到 hdfs,如上传至/usr/local/spark-examples_2.11-2.4.3.jar。 步骤2:执行命令:
curl -H "Content-Type: application/json" -X POST -d
'{ "file":"/usr/local/spark-examples_2.11-2.4.3.jar",
"className":"org.apache.spark.examples.SparkPi" }' IP:8998/batches
6. 查询代码片段执行是否成功,也可以直接在 UI 页面 http://IP:8998/ui/session/0 查看。
curl IP:8998/sessions/0/statements/0
7. 删除 session。
curl -X DELETE IP:8998/sessions/0

注意事项

开放的配置文件

目前开放的配置文件包括 livy.conflivy-env.sh,这两个配置文件均可以通过配置下发的方式来修改配置。具体开放了哪几个配置文件,请以 EMR 控制台实际为准。

Livy 端口修改方法

目前的默认端口是8998,用户可以自行修改。修改配置文件 livy.conflivy.server.port 属性即可。
若集群装有 Hue,由于 Hue 与 Livy 之间涉及联通性,因此 Hue 对应的配置端口也需要修改。其对应的配置文件为 pseudo-distributed.ini,路径为 /usr/local/service/hue/desktop/conf,对应的配置项为 livy_server_port=8998。修改后要重启对应的服务。
如非必要,建议不要修改 Livy 的端口,如涉及安全要求,可以通过安全组的方式来进行控制。修改后可能会导致一些其他的潜在问题。

Livy 部署方式

目前 Livy 默认会在所有 master 节点上部署,用户也可以通过扩容 router 的方式在 router 上进行部署。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈