
# 配置多主实例与多租户模式切换
#### 操作场景
在使用集群中，如果需要在多主实例模式与多租户模式之间切换，可以通过修改Spark服务的配置参数来实现。
多主实例模式与多租户模式使用场景主要区别如下：
- 多主实例模式：实现了高可用性方案，集群中支持同时共存多个ThriftServer服务，通过客户端可以随机连接其中的任意一个服务进行业务操作。即使集群中一个或多个ThriftServer服务停止工作，也不影响用户通过同一个客户端接口连接其他正常的ThriftServer服务。
- 多租户模式：将JDBCServer和租户绑定，每一个租户对应一个或多个JDBCServer，一个JDBCServer只给一个租户提供服务。不同的租户可以配置不同的Yarn队列，从而达到资源隔离，且JDBCServer根据需求动态启动，可避免浪费资源。
 
#### 配置多主实例与多租户模式切换
1. 登录FusionInsight Manager系统。 
   详细操作请参考[访问集群Manager](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2124.html)。
   
   

2. 选择"集群 \> 服务 \> Spark2x/Spark \> 配置"，单击"全部配置"，搜索并调整以下参数。 
   表1参数说明 
   | **参数**                           | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                   | 取值示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|:---|
   | spark.thriftserver.proxy.enabled | 是否使用多租户模式。 - false表示使用多实例模式。  - true表示使用多租户模式。                                                                                                                                                                                      | true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | spark.scheduler.allocation.file  | 公平调度文件路径，多租户和多实例共用同一个xml配置文件。                                                                                                                                                                                                                                                                                                                                                                                            | - MRS 3.3.0-LTS及之后版本：多主实例和多租户配置均为hdfs://hacluster/user/spark/jars/\*/fairscheduler.xml  - MRS 3.3.0-LTS之前版本： - 多主实例配置为：#{conf_dir}/fairscheduler.xml  - 多租户配置为：./__spark_conf__/__hadoop_conf__/fairscheduler.xml     |
   | spark.proxyserver.hash.enabled   | 是否使用Hash算法连接ProxyServer。 - true为使用Hash算法，使用多租户模式时，该参数需配置为true。  - false为使用随机连接，多主实例模式，配置为false。   该参数修改后需要重新下载客户端。 | true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      
   
   

3. 修改参数配置后，单击"保存"，根据界面提示操作后，等待配置保存成功。
4. Spark服务端配置更新后，如果"配置状态"为"配置过期"，则需重启组件以使配置生效。 
   图1修改Spark配置   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002339002429.png "点击放大")
   在Spark服务概览页面，选择"更多 \> 重启服务/滚动重启服务"，验证管理员密码后，等待服务重启成功。
   如果使用Spark客户端提交任务，修改了集群的"spark.proxyserver.hash.enabled"参数后，需要重新下载客户端才能使配置生效，请参考[使用MRS客户端](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2126.html)。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/warning_3.0-zh-cn.png)
   组件重启期间将无法对外提供服务，可能会影响集群的上层业务正常运行，请在业务空闲期或确认操作无影响后再执行本操作。
   
   
 
