• 关于hiveonSpark的错误问题


    关于Spark的配置

    1.spark

    1. spark-env.sh.template

    mv命令改名

    mv /opt/module/spark/conf/spark-env.sh.template /opt/module/spark/conf/spark-env.sh
    
    • 1

    添加内容

    // 有了SPARK_DIST_CLASSPATH配置信息以后,
    //Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,
    //也可以从HDFS中读取数据。如果没有配置上面信息,Spark就只能读写本地数据,
    //无法读写HDFS数据。
    export SPARK_DIST_CLASSPATH=$(hadoop classpath)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.环境变量HOME

     sudo vim /etc/profile.d/my_env.sh
    # SPARK_HOME
    export SPARK_HOME=/opt/module/spark
    export PATH=$PATH:$SPARK_HOME/bin
    // 退出使用,让配置生效
    source /etc/profile.d/my_env.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.hive中创建spark配置文件

    1. 在conf中创建spark-defaults.conf

    vim /opt/module/hive/conf/spark-defaults.conf
    
    • 1

    添加

    spark.master                               yarn
    spark.eventLog.enabled                   true
    spark.eventLog.dir                        hdfs://hadoop102:8020/spark-history
    spark.executor.memory                    1g
    spark.driver.memory					     1g
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.修改hive-site.xml

    <!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
    <property>
        <name>spark.yarn.jars</name>
        <value>hdfs://hadoop102:8020/spark-jars/*
    </property>
      
    <!--Hive执行引擎-->
    <property>
        <name>hive.execution.engine</name>
        <value>spark</value>
    </property>
    
    // 调大超时时间,防止等待时间过长导致连接spark失败.
    <property>
            <name>hive.spark.client.connect.timeout</name>
            <value>10000</value>
    </property>
    <property>
            <name>hive.spark.client.server.connect.timeout</name>
            <value>9000000</value>
    </property>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    3.调大Hive堆内存 hive-env.sh.template

    mv hive-env.sh.template hive-env.sh
    // 改成1个G,如果有条件,还可以调大
    export HADOOP_HEAPSIZE=1024
    ## 3.HDFS
    
    • 1
    • 2
    • 3
    • 4

    1.向HDF上传Spark纯净版JAR包,避免依赖冲突

    其他节点没有Spark,所以执行时也需要Spark依赖

    hadoop fs -mkdir /spark-jars
    hadoop fs -put /opt/module/spark/jars/* /spark-jars
    
    • 1
    • 2

    2.capacity-scheduler.xml修改资源最大占比,提高资源利用率

    <property>
        <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
        <value>0.8</value>
    </property>
    
    • 1
    • 2
    • 3
    • 4

    4.注意

    和spark连接的spark一定要处于active状态,否则会出现无法创建spark问题

  • 相关阅读:
    人工智能优势
    R语言使用xts包表示时间序列数据(time series data)
    pytorch代码实现之CoordConv卷积
    5-3 pytorch中的损失函数
    mysql导入CSV乱码问题解决
    如何优雅的备份MySQL数据?看这篇文章就够了
    【Stm32】【Lin通信协议】Lin通信点亮灯实验
    工地木模板多少钱一张?
    可视化会议网站导读
    单链表的模拟实现
  • 原文地址:https://blog.csdn.net/qq_42265608/article/details/132675390