首页/网络/常用端口速查/8998 Apache Livy 提交服务
8000-8999 注册端口65 条

8998 Apache Livy 提交服务

Apache Livy 的 REST 端口:通过 HTTP 向 Spark/Hadoop 集群提交批任务与交互式会话,数据平台常用。

常用端口速查网络更新于 2026-10-13

8998 是什么

8998 是 Apache Livy 的 REST 端口。Livy 的作用是把 Spark 能力以 HTTP 接口暴露出去:客户端提交批作业(/batches)或交互式会话(/sessions),Livy 负责在集群上创建 Spark 上下文并跟踪状态,常用于数据平台的「提交 jar 跑任务」以及 Notebook 的后端。会话中可以执行任意 Spark 代码,因此未鉴权的 Livy 等于集群上的代码执行入口。

基本信息

服务Apache Livy(默认 8998)
协议TCP/HTTP(REST)
用途REST 提交 Spark 作业与会话
主要端点/batches、/sessions
常见调用方调度平台、Notebook、业务系统
安全等级仅数据平台网段

典型使用场景

  • 平台化提交:业务系统通过 REST 提交 Spark 作业
  • 交互式分析:为 Notebook 提供会话上下文
  • 作业排障:查询批作业状态与动作日志
  • 安全核查:确认启用了认证鉴权与用户代理机制
  • 资源治理:设置空闲会话回收,避免占满队列
  • 版本升级:Spark 与 Livy 版本配套验证

Livy 主要端点

端点方法用途
/batchesPOST/GET提交与查询批作业
/sessionsPOST/GET创建交互式会话
/sessions/{id}/statementsPOST在会话中执行代码
/batches/{id}/logGET读取作业日志

会话探测

会话探测
curl -s http://livy01:8998/sessions | head -c 300      # 现有会话
curl -s http://livy01:8998/batches | head -c 300       # 批作业列表
ss -lntp | grep 8998                                   # 监听核对
# 提交示例(需权限): curl -X POST -H 'Content-Type: application/json' \
#   -d '{"file":"hdfs:///app.jar"}' http://livy01:8998/batches
Livy 的会话会长期占用 YARN 资源:平台侧要设置空闲会话回收,否则残留会话会把队列吃满,表现为新作业一直排队。
认证应交给 Kerberos 或平台的统一鉴权:只靠网络隔离时,任何能访问 8998 的进程都能以集群身份运行代码。
批作业失败的原因多数在 Spark 侧:Livy 只负责提交与跟踪,日志要顺着 YARN 与应用日志继续往下看。
Livy 与 Spark 的版本兼容性要求较严:升级 Spark 前先核对官方兼容矩阵,否则会出现提交成功但会话创建失败的情况。
批作业与会话是两种资源模型:批作业跑完即释放,会话要显式关闭,平台侧最好把两者分队列管理,避免互相挤占。
提交入口的并发限制要显式配置:无上限时一个大促活动就能把集群提交队列打满,影响所有业务。

易错点

  • Livy 裸奔在数据网:REST 提交任意代码等于集群提权
  • 会话不设超时:资源被空闲会话占满,排查时还看不到明显错误
  • 升级 Spark 不核对 Livy 版本:会话创建失败,现象是提交成功但没有结果
  • 所有业务共用一个 Livy 用户:操作无法归因,资源抢占时也说不清是谁的作业
  • 只监控 Livy 进程不看队列:提交排队时间上升时无感知
  • 提交入口不做并发限制:单一业务的活动流量挤占全部集群资源

数据来源与参考

  • Apache Livy 官方文档(8998)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌