其他分享
首页 > 其他分享> > 记一次hive提交spark任务报错

记一次hive提交spark任务报错

作者:互联网

hive提交spark报错

报错内容
Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create spark client.)' FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create spark client.

排查思路

首先确定集群最近没有修改,可能是sql配置的有问题,请教开发同学 发现也没有变动。
这里的报错显示任务没有提交到集群, 那么使用其他简单的命令试一试
hive -e "show databases"
hive -e "select count(1) from XXX.XX"
这里面的第一个语句显示结果 表明连接集群没问题 因为查询出来的结果是集群里面的数据
第二个语句查询出来也没问题,因为count(*)会跑mr 所以集群肯定没问题

这样我们就看到报错了

2022-04-26T11:03:48,324 INFO [stderr-redir-1] client.SparkClientImpl: Exception in thread "main" java.lang.IllegalArgumentException: Required executor memory (10240), overhead (1024 MB), and PySpark memory (0 MB) is above the max threshold (10485 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.

原来是因为修改了yarn的mem 导致任务提交申请不到那么多内存

sql里面的写法
` SET spark.sql.autoBroadcastJoinThreshold=-1;

SET spark.driver.memory=8G;
SET spark.executor.memory=10G;
SET spark.driver.maxResultSize=8G;
`

减小内存即可

标签:memory,hive,报错,sql,spark,hiveconf
来源: https://www.cnblogs.com/ZFBG/p/16194042.html