允许Yarn在节点上缓存必要的spark依赖关系jar,这样每次应用程序运行时都不需要分发它。
-
在Hive 2.2.0之前,将spark-assembly jar上传到hdfs文件(例如:hdfs:// xxxx:8020 / spark-assembly.jar)并在hive-site.xml中添加以下内容
<property><name>spark.yarn.jar</name><value>hdfs://xxxx:8020/spark-assembly.jar</value></property> -
Hive 2.2.0及之后,将$ SPARK_HOME / jars中的所有jar上传到hdfs文件夹(例如:hdfs:/// xxxx:8020 / spark-jars)并在hive-site.xml中添加以下内容
<property><name>spark.yarn.jars</name><value>hdfs://xxxx:8020/spark-jars/*</value></property>上述配置完成后会出现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.这样的问题,hive无法创建spark任务启动客户端,是因为缺少了spark的yarn-client的ip配置
需要在hive-site.xml中增加一些配置
<property>
<name>spark.master</name>
<value>spark://master:7077</value>
</property>
本文详细介绍了如何在Hive中配置Spark依赖,包括不同版本的Hive如何上传jar包到HDFS,以及解决因缺少spark yarn-client配置导致的任务启动失败问题。
3597

被折叠的 条评论
为什么被折叠?



