Kyuubi在移动云的实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. Apache kyuubi在移动云的实践
中国移动云能力中心
2021年11月
2. 1
2
3
背景
架构
实践
3. 背景
需求:移动云Lakehouse需要提供jdbc能力
Thrift方案:
Spark thrift server on k8s,直接在kubernetes中部署原生STS,每个实例提供一个
Apache Kyuubi,在管理服务中启动kyuubi server服务,所有实例统一由Kyuubi
提供jdbc能力
Spark ThriftServer Apache Kyuubi
任务提交 所有SQL共享当前Server USER隔离和CONNECTION级别隔离
Catalog管理 HMS HMS、第三方Catalog
高可用 无 有
多租户 无 有
客户端并发 无 水平扩展
资源占用 永久 按需动态
服务暴露 复杂 简单
4. 1
2
3
背景
架构
实践
5. 整体架构
Lakehouse中和Kyuubi相关的架构大致可以分为4
类。
服务提供:Lakehouse面向用户层面的服务接口,
kyuubi提供JDBC能力
管理服务:Job manager主要处理由console和
Open api提交的离线批处理任务,resouce
manager负责用户实例的资源分配,log manager
服务日志采集并提供SQL审计接口
计算引擎:为用户提供OLAP、即席查询以及数
据迁移
数据存储:底层存储主要为HDFS和移动云EOS对
象存储,格式上支持Hive表和Hudi表
6. 1
2
3
背景
架构
实践
7. Kyuubi on ecloud
raw
ecloud
用户认证:支持通过
AccessKey, SecretKey方式
认证授权
资源管理:
1、禁止用户指定引擎相关参
数
2、资源统一由Lakehouse资
源调度起管理,和console共
用实例资源
SQL:
1、SQL分析和拦截
2、动态对象存储信息加载
日志审计:对接lakehouse
SQL审计平台
8. Kyuubi on kubernetes
部署方式:
1、使用Helm3管理kyuubi相关服务
2、使用Depolyment方式部署kyuubi server
3、使用LoadBalancer service提供server高可用和负载均衡
4、与ZooKeeper解耦,使用etcd提供ServiceDiscovery
9. Kyuubi with trino
Kyuubi with trino优点
1、解耦,不需要在trino集群中处理认证、
审计等
2、统一jdbc服务,用户只需在连接时指定
engine类型
trift rpc service: 主要负责与kyuubi server直
接的rpc通信
trino client: 通过restful api连接trino集群
10. Thanks