
# 运行Spark应用时修改MapReduce分片值报错
#### 问题现象
用户需要通过修改一个split最大值来实现多个mapper，从而达到提速的目的，但是执行set命令修改Hive的配置时报错。
```
0: jdbc:hive2://192.168.1.18:21066/> set mapred.max.split.size=1000000;
Error: Error while processing statement: Cannot modify mapred.max.split.size at runtime. It is not in list of params that are allowed to be modified at runtime( state=42000,code=1)
```
#### 原因分析
- 在安全模式下配置白名单启停参数**hive.security.whitelist.switch** 时，需要运行的参数必须在**hive.security.authorization.sqlstd.confwhitelist** 中配置。
  ![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0000001304680274.png "点击放大")
  

- 默认白名单中没有包含**mapred.max.split.size**参数，所以运行的时候会提示不允许。
 
#### 处理步骤
1. 进入Hive服务配置页面： 
   - MRS 3.*x* 之前版本，单击集群名称，登录集群详情页面，选择"组件管理 \> Hive \> 服务配置"，单击"基础配置"下拉菜单，选择"全部配置"。
     ![](https://support.huaweicloud.com/trouble-mrs/public_sys-resources/note_3.0-zh-cn.png)
     如果集群详情页面没有"组件管理"页签，请先完成IAM用户同步（在集群详情页的"概览"页签，单击"IAM用户同步"右侧的"同步"进行IAM用户同步）。
     
   
   - MRS 3.x及后续版本，登录FusionInsight Manager，然后选择"集群 \> 服务 \> Hive \> 配置 \> 全部配置"。
   
   
   
   
2. 搜索**hive.security.authorization.sqlstd.confwhitelist.append** ，把**mapred.max.split.size** 加进**hive.security.authorization.sqlstd.confwhitelist.append** 中，详细信息可参考[从零开始使用Hive](https://support.huaweicloud.com/zh-cn/cmpntguide-mrs/mrs_01_0442.html)。
3. 修改完成后，保存配置，重启Hive组件。
4. 重新在Hive Beeline命令行中执行**set mapred.max.split.size=1000000;**。
 
