hive on spark jar包缓存问题

允许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>

猜你喜欢

转载自blog.csdn.net/AntKengElephant/article/details/84528856