Kyuubi高可用架构

作为建立在 Apache Spark 之上的企业级即席 SQL 查询服务,Kyuubi 以高可用性 (HA) 为主要特征,旨在确保约定的服务可用性级别,例如高于正常运行时间。

在 HA 模式下运行 Kyuubi 是在 Kyuubi 上使用支持 SQL 查询服务的计算机或容器组,这些服务可以在最少的停机时间内可靠地使用。 Kyuubi 通过使用 Apache ZooKeeper 来利用组中的冗余服务实例,当一个或多个组件发生故障时提供连续服务。

如果没有 HA,如果服务器崩溃,在修复崩溃的服务器之前,Kyuubi 将不可用。 使用 HA,这种情况将通过自动检测硬件/软件故障得到补救,并且另一个 Kyuubi 服务实例将立即准备好服务,而无需人工干预。

高可用架构

目前,Kyuubi 支持负载均衡,使整个系统高可用。

负载均衡旨在优化所有 Kyuubi 服务单元的使用,最大化吞吐量,最小化响应时间,避免单个单元过载。 使用具有负载平衡功能的多个 Kyuubi 服务单元而不是单个单元可以通过冗余提高可靠性和可用性。

g

主要优势

  1. 高并发

    通过添加或删除 Kyuubi 服务器实例可以轻松地扩展或缩减以满足客户端请求的需要。

  2. 平滑升级

    Kyuubi 服务器支持优雅停止。 我们可以删除一个 k.i. 但不会立即停止。 在这种情况下,k.i. 不会接受任何新的连接请求,而只会接受来自现有连接的操作请求。 释放所有连接后,它会停止。

部署指南

在将 HA 应用于 Kyuubi 部署时,我们需要基本了解以下两件事,

  • kyuubi.ha.zookeeper.quorum – 部署 k.i. 的外部 zookeeper 集群地址。
  • kyuubi.ha.zookeeper.namespace – 根目录,也就是部署 k.i 的服务器空间。

更多配置请参见Kyuubi配置系统简介的HA部分

伪分布模式

当 kyuubi.ha.zookeeper.quorum 没有配置时,一个 k.i. 将启动一个内嵌的 zookeeper 服务。 在这种伪模式下,k.i. 客户端可以通过原始 IP 地址和 zk quorum + 命名空间连接。 但它没有任何高可用性的可用性。

生产模式

出于生产部署目的,kyuubi.ha.zookeeper.quorum 需要一个外部 Zookeeper 集群。 在这种模式下,可以将多个 k.i.s 注册到 kyuubi.ha.zookeeper.namespace 配置的同一个 ServerSpace 并一起服务。

客户端使用

使用 Kyuubi Hive JDBC Driver 或 vanilla Hive JDBC Driver,客户端可以在 JDBC 连接字符串中指定服务发现模式,即 serviceDiscoveryMode=zooKeeper; 并设置 zooKeeperNamespace=kyuubi;,则可以从 /kyuubi 路径中指定的 ZooKeeper 地址中随机选择一个 Kyuubi 服务 uri。

例如:

bin/beeline -u 'jdbc:hive2://10.242.189.214:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi' -n kentyao
0 0 投票数
文章评分

本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://lrting.top/backend/bigdata/kyuubi/kyuubi-basic/4429/

(0)
上一篇 2022-04-09 03:15
下一篇 2022-04-13 00:31

相关推荐

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
()
x