配置Spark多租户模式
配置场景
多租户模式是将JDBCServer和租户绑定,每一个租户对应一个或多个JDBCServer,一个JDBCServer只给一个租户提供服务。不同的租户可以配置不同的Yarn队列,从而达到资源隔离。
 
   Yarn资源不足情况下,不建议开启多租户模式。
配置描述
登录Manager,选择“集群 > 待操作集群的名称 > 服务 > Spark2x > 配置”,单击“全部配置”,搜索并修改以下参数。
| 
        参数  | 
      
        说明  | 
      
        默认值  | 
     
|---|---|---|
| 
        spark.proxyserver.hash.enabled  | 
      
        是否使用Hash算法连接ProxyServer。 
  | 
      
        true 
         说明: 
         该参数修改后需要重新下载客户端。  | 
     
| 
        spark.thriftserver.proxy.enabled  | 
      
        是否使用多租户模式。 
  | 
      
        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  |