问题:
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=
In order to set a constant number of reducers:
set mapreduce.job.reduces=
Failed to execute spark task, with exception ‘org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create Spark client for Spark session 3d0724eb-0a1c-496d-9af3-b06878549bdc)’
FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session 3d0724eb-0a1c-496d-9af3-b06878549bdc
网上查找的很多资料,总结有两种原因:一、要么配置出错了;二、要么是包不兼容;
我的是两种原因都有。
第一个原因:
配置问题:hadoop中的core-site文件配置的是9000端口,而我的hive/conf/hive-site.xml配置的是8020端口(端口不一致)。
改完之后还是出错。这次涉及到的第二个问题:兼容性问题。
我的hive安装包是从官网上下载了,hive和spark版本是绑定的。那么,怎么查看自己安装的hive自带支持spark哪个版本呢?hive/lib下面查看spark:
[xxx@hadoop102 lib]$ ls | grep spark
hive-spark-client-3.1.2.jar
spark-core_2.11-2.4.5.jar
spark-kvstore_2.11-2.4.5.jar
spark-launcher_2.11-2.4.5.jar
spark-network-common_2.11-2.4.5.jar
spark-network-shuffle_2.11-2.4.5.jar
spark-tags_2.11-2.4.5.jar
spark-unsafe_2.11-2.4.5.jar
发现我的hive自带支持spark版本为2.4.5。然后我安装的spark是3.0.0版本的,这两个版本是不兼容的。
解决方法:1、从官网下载无自带的hive码源,自己编译;2、从gitLab上下载别人编译好的。