Kyuubi组件概述
更新时间 2026-10-12 11:42:32
最近更新时间: 2026-10-12 11:42:32
本章节介绍Kyuubi服务基础概述。
Kyuubi 是一个分布式和多租户网关,用于在 lakehouse 上提供无服务器 SQL。
在本集群中,Kyuubi 作为 Spark SQL 引擎的统一接入网关:用户通过 Beeline 或标准 JDBC 连接 Kyuubi,Kyuubi 根据引擎共享级别(engine share level)负责底层 Spark 引擎(application)的启动、复用与退出,实现多租户隔离与连接复用,SQL 语法与执行行为以 Spark SQL 为准。
Kyuubi 的核心特点如下:
1、无服务器 SQL:用户无需感知底层 Spark 引擎的申请与释放,连接即用,执行结束自动回收;
2、多租户:通过 engine share level 与 subdomain 实现用户级、连接级的引擎隔离;
3、高可用:基于 ZooKeeper 服务发现,客户端连接串不绑定单点,Kyuubi 服务可多实例部署;
4、标准协议:兼容 Hive JDBC/Beeline 协议,可使用 kyuubi-hive-jdbc 或 hive-jdbc 驱动开发。
Kyuubi 核心概念说明如下:
| 概念 | 说明 |
|---|---|
| Kyuubi Server | 网关服务进程,接收客户端连接,按共享级别管理引擎 |
| Engine | 底层Spark 引擎(一个 YARN 上的 Spark application),负责 SQL 的实际执行 |
| engine share level | 引擎共享级别,决定一个Spark 引擎被哪些连接复用 |
| ZooKeeper Namespace | Kyuubi 在 ZooKeeper 上注册服务的命名空间,用于服务发现 |
整体流程。Kyuubi 使用的整体流程为:完成 Kerberos 认证→通过 Beeline/JDBC 连接 Kyuubi(经 ZooKeeper 服务发现)→Kyuubi 按共享级别启动或复用 Spark 引擎→SQL 提交至引擎执行→结果返回客户端,整体流程如下图所示: