配置多主实例与多租户模式切换
操作场景
在使用集群中,如果需要在多主实例模式与多租户模式之间切换,可以通过修改Spark服务的配置参数来实现。
多主实例模式与多租户模式使用场景主要区别如下:
- 多主实例模式:实现了高可用性方案,集群中支持同时共存多个ThriftServer服务,通过客户端可以随机连接其中的任意一个服务进行业务操作。即使集群中一个或多个ThriftServer服务停止工作,也不影响用户通过同一个客户端接口连接其他正常的ThriftServer服务。
- 多租户模式:将JDBCServer和租户绑定,每一个租户对应一个或多个JDBCServer,一个JDBCServer只给一个租户提供服务。不同的租户可以配置不同的Yarn队列,从而达到资源隔离,且JDBCServer根据需求动态启动,可避免浪费资源。
配置多主实例与多租户模式切换
- 登录FusionInsight Manager系统。
详细操作请参考访问集群Manager。
- 选择“集群 > 服务 > Spark2x/Spark > 配置”,单击“全部配置”,搜索并调整以下参数。
表1 参数说明 参数
说明
取值示例
spark.thriftserver.proxy.enabled
是否使用多租户模式。
- false表示使用多实例模式。
- true表示使用多租户模式。
true
spark.scheduler.allocation.file
公平调度文件路径,多租户和多实例共用同一个xml配置文件。
- 多主实例配置为:#{conf_dir}/fairscheduler.xml
- 多租户配置为:./__spark_conf__/__hadoop_conf__/fairscheduler.xml
spark.proxyserver.hash.enabled
是否使用Hash算法连接ProxyServer。
- true为使用Hash算法,使用多租户模式时,该参数需配置为true。
- false为使用随机连接,多主实例模式,配置为false。
该参数修改后需要重新下载客户端。
true
- 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
- Spark服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。
图1 修改Spark配置
在Spark服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。
如果使用Spark客户端提交任务,修改了集群的“spark.proxyserver.hash.enabled”参数后,需要重新下载客户端才能使配置生效,请参考使用MRS客户端。组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。