FusionInsight C60SPC200 提交spark任务内存超过集群限制

发布时间:  2017-05-04 浏览次数:  456 下载次数:  0
问题描述

用户提交一个spark任务,命令spark-sql --master yarn-client --driver-memory 10G --executor-memory 40G --executor-cores 10 --num-executors 20

client模式提交,用户申请的是40G内存,driver日志打印有报executor memory超过集群限制。


告警信息

报错日志如下

17/04/26 10:45:43 WARN MetricsSystem: Using default name DAGScheduler for source because spark.app.id is not set.

17/04/26 10:45:43 ERROR SparkContext: Error initializing SparkContext.

java.lang.IllegalArgumentException: Required executor memory (40960+4096 MB) is above the max threshold (6144 MB) of this cluster! Please increase the value of 'yarn.scheduler.maximum-allocation-mb'.

处理过程

1、从报错信息看是配置的申请的内存超过了集群最大限制数,通过界面查看yarn参数限制如下图所示,默认64G,满足用户要求


2、查看ResourceManager(主)的地址


通过命令行登录该节点,cd /opt/huawei/Bigdata/FusionInsight_V100R002C60SPC200/etc/x_xx_ResourceManager目录,进入yarn-site.xml文件搜索参数yarn.scheduler.maximum-allocation-mb,底层配置文件显示的大小是6G,与报错信息相符合


3在界面修改yarn.scheduler.maximum-allocation-mb参数为任意值,保存但不重启服务,保存后再修改为65536,然后保存重启服务,即可


4、重启服务后检查yarn-site.xml配置文件,已正常,问题解决



根因

配置文件yarn-site.xml的yarn.scheduler.maximum-allocation-mb参数设置太小,提交任务申请超过这个参数值就会报错

解决方案

1、修改yarn.scheduler.maximum-allocation-mb参数值为任意大于0的值,保存配置,再修改成默认值65536,保存配置并重启服务

2、升级补丁版本C60SPC202

END