更新时间:2023-04-10 GMT+08:00

配置多租户模式

配置场景

多租户模式是将JDBCServer和租户绑定,每一个租户对应一个或多个JDBCServer,一个JDBCServer只给一个租户提供服务。不同的租户可以配置不同的Yarn队列,从而达到资源隔离。

Yarn资源不足情况下,不建议开启多租户模式。

配置描述

登录Manager,选择“集群 > 待操作集群的名称 > 服务 > Spark2x > 配置”,单击“全部配置”,搜索并修改以下参数。

表1 参数说明

参数

说明

默认值

spark.proxyserver.hash.enabled

是否使用Hash算法连接ProxyServer。

  • true为使用Hash算法,使用多租户模式时,该参数需配置为true。
  • false为使用随机连接,多主实例模式,配置为false。

true

说明:

该参数修改后需要重新下载客户端。

spark.thriftserver.proxy.enabled

是否使用多租户模式。

  • false表示使用多实例模式
  • true表示使用多租户模式

true

spark.thriftserver.proxy.maxThriftServerPerTenancy

多租户模式下,一个租户可启动JDBCServer实例的最大个数。

1

spark.thriftserver.proxy.maxSessionPerThriftServer

多租户模式下,单个JDBCServer实例的session数量超过该值时,如果租户的JDBCServer最大实例数量没超过限制,则启动新的JDBCServer,否则输出警告日志。

50

spark.thriftserver.proxy.sessionWaitTime

多租户模式下,当JDBCServer的session连接数为0时,停止JDBCServer前的等待时间。

180000

spark.thriftserver.proxy.sessionThreshold

多租户模式下,当JDBCServer的session使用率(公式:当前session数 / (spark.thriftserver.proxy.maxSessionPerThriftServer * 当前JDBCServer个数))达到阈值时,自动新增JDBCServer。

100

spark.thriftserver.proxy.healthcheck.period

多租户模式下,JDBCServer代理检查JDBCServer健康状态周期。

60000

spark.thriftserver.proxy.healthcheck.recheckTimes

多租户模式下,JDBCServer代理检查JDBCServer健康状态失败后重试次数。

3

spark.thriftserver.proxy.healthcheck.waitTime

多租户模式下,JDBCServer代理发送健康检查,等待JDBCServer响应的超时时间。

10000

spark.thriftserver.proxy.session.check.interval

多租户模式下,JDBCServer代理检查session的周期。

6h

spark.thriftserver.proxy.idle.session.timeout

多租户模式下,JDBCServer代理session的空闲超时时间。如果在这段时间内没有做任何操作,session会被关闭。

7d

spark.thriftserver.proxy.idle.session.check.operation

多租户模式下,JDBCServer代理session的过期是否要判断该session上还存在operation。

true

spark.thriftserver.proxy.idle.operation.timeout

多租户模式下,operation的超时时间。如果operation超时,operation会被关闭。

5d

hive.spark.client.server.connect.timeout

多租户模式下,客户端连接超时时间。

5min