• 大数据运维(60)Hive on Spark配置


    1. 版本兼容

    Hive on Spark仅使用特定版本的Spark进行测试,因此只能确保给定版本的Hive与特定版本的Spark一起使用。其他版本的Spark可能与给定版本的Hive一起使用,但这不能保证。下面是Hive版本列表及其相应的兼容Spark版本。

    Hive VersionSpark Version
    master 2.3.0
    3.0.x 2.3.0
    2.3.x 2.0.0
    2.2.x 1.6.0
    2.1.x 1.6.0
    2.0.x 1.5.0
    1.2.x 1.3.1
    1.1.x 1.2.0

    2. 安装Spark

    2.1 环境配置

    • java 1.8.0+
    • hadoop 2.7.0+
    • hive 2.3.0
    • spark 2.0.2
    • scala 2.11.12

    2.2 编译安装

    • 安装/构建兼容版本。从上诉版本中选择适合的Spark版本进行编译安装.

    • 安装/构建兼容的分发版。每个版本的Spark都有几个发行版,对应不同版本的Hadoop。

    • 注意,必须拥有包含Hive jar 的Spark版本 。Spark的发行版本为了兼顾Spark SQL都会包含有Hive相关的jar,所以我们需要通过源码重新编译,去重相关的jar.

      在Spark 2.0.0之前:

      ./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.4,parquet-provided"
      

      自Spark 2.0.0起:

      ./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"
      

      自Spark 2.3.0起:

      ./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,orc-provided"
      

    3. 配置Hive

    3.1 拷贝spark下的jar包到hive的lib下

    • cp scala-library-2.11.8.jar /usr/share/hive-2.3.0/lib/
    • cp spark-core_2.11-2.0.2.jar /usr/share/hive-2.3.0/lib/
    • cp spark-network-common_2.11-2.0.2.jar /usr/share/hive-2.3.0/lib/

    3.2 配置Hive执行引擎以使用Spark

    hive-site.xml文件中添加:

    <property>
            <name>hive.execution.engine</name>
            <value>spark</value>
      </property>
    

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

    5. 执行hive命令

     
    image.png
    作者:大码王

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•?ω•?)っ???!

  • 相关阅读:
    8-12-COMPETITION
    The Rotation Game(IDA*算法)
    Largest Rectangle in a Histogram(DP)
    Top ShooterHDU2863&&继续xxx定律HDU3784
    NYOJ 536 开心的mdd(DP)
    POJ1328 Radar Installation 图形转化 贪心 排序
    cout:格式算子与保留精度
    POJ 2109 Power of Cryptography二分+大数相乘和pow为什么可以直接过的原因
    字符串交换函数
    纪念一次失败的暴力 统计回文字串
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13794002.html
Copyright © 2020-2023  润新知