更新时间:2025-06-11 GMT+08:00

配置多主实例模式

操作场景

基于社区已有的JDBCServer基础上,采用多主实例模式实现了其高可用性方案。集群中支持同时共存多个ThriftServer服务,通过客户端可以随机连接其中的任意一个服务进行业务操作。即使集群中一个或多个ThriftServer服务停止工作,也不影响用户通过同一个客户端接口连接其他正常的ThriftServer服务。

多主实例模式相比主备模式的HA方案,优势主要体现在对以下两种场景的改进。

  • 主备模式下,当发生主备切换时,会存在一段时间内服务不可用,该段时间JDBCServer无法控制,取决于Yarn服务的资源情况。
  • Spark中通过类似于HiveServer2的Thrift JDBC提供服务,用户通过Beeline以及JDBC接口访问。因此JDBCServer集群的处理能力取决于主Server的单点能力,可扩展性不够。

采用多主实例模式的HA方案,不仅可以规避主备切换服务中断的问题,实现服务不中断或少中断,还可以通过横向扩展集群来提高并发能力。

配置描述

  1. 登录FusionInsight Manager系统。

    详细操作请参考访问集群Manager

  2. 选择“集群 > 服务 > Spark2x/Spark > 配置”,单击“全部配置”,搜索并调整以下参数。

    表1 多主实例参数说明

    参数

    参数说明

    配置示例

    spark.thriftserver.zookeeper.connection.timeout

    JDBCServer连接到Zookeeper客户端时使用的连接超时时间,单位:毫秒。

    取值范围:1000~2147483647。

    6000

    spark.thriftserver.zookeeper.session.timeout

    JDBCServer连接到Zookeeper客户端时使用的会话超时时间,单位:毫秒。

    取值范围:0~2147483647。

    90000

    spark.thriftserver.zookeeper.retry.times

    JDBCServer连接到Zookeeper客户端失联后,使用的重试次数。

    取值范围:0~3600。

    3

    spark.yarn.queue

    JDBCServer应用提交时使用的Yarn队列名称。

    default

  1. 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
  2. Spark服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。

    图1 修改Spark配置
    在Spark服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。

    组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。

相关文档

Spark多主实例更多介绍请参考Spark2x多主实例