EMR 配置 Hive on Spark

芒果2年前技术文章830

Hive3 on spark 集成
前置条件
hadoop yarn环境正常
oracle jdk 1.8版本
1、spark2 下载准备
https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-without-hadoop.tgz
解压到opt目录
hive3环境配置
export SPARK_HOME=/opt/spark-2.4.5-bin-without-hadoop
export SPARK_CONF_DIR=/opt/spark-2.4.5-bin-without-hadoop/conf
export SPARK_DIST_CLASSPATH=$HADOOP_HOME/etc/hadoop/*:$HADOOP_HOME/share/hadoop/common/lib/*:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/hdfs/lib/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/yarn/lib/*:$HADOOP_HOME/share/hadoop/yarn/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*:$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/tools/lib/*
hive-site.xml
  <!-- Spark2 依赖库位置,在YARN 上运行的任务需要从HDFS 中查找依赖jar 文件 -->
  <property>
    <name>spark.yarn.jars</name>
    <value>${fs.defaultFS}/spark-jars/*</value>
  </property>
  
  <!-- Hive3 和Spark2 连接超时时间 -->
  <property>
    <name>hive.spark.client.connect.timeout</name>
    <value>30000ms</value>
  </property>
<property>
        <name>spark.executor.cores</name>
        <value>1</value>
    </property>
    <property>
        <name>spark.executor.memory</name>
        <value>1g</value>
    </property>
    <property>
        <name>spark.driver.memory</name>
        <value>1g</value>
    </property>
    <property>
        <name>spark.yarn.driver.memoryOverhead</name>
        <value>102</value>
    </property>
<property>
    <name>spark.shuffle.service.enabled</name>
    <value>true</value>
</property>
<property>
    <name>spark.eventLog.enabled</name>
    <value>true</value>
</property
spark-defaults.conf
spark.master=yarn
spark.eventLog.dir=hdfs:///user/spark/applicationHistory
spark.eventLog.enabled=true
spark.executor.memory=1g
spark.driver.memory=1g
spark 依赖库配置
cd /opt/spark-2.4.5-bin-without-hadoop/jars
mv orc-core-1.5.5-nohive.jar orc-core-1.5.5-nohive.jar.bak
//上传jar包到hdfs
hdfs dfs -rm -r -f /spark-jars
hdfs dfs -mkdir /spark-jars
cd /opt/spark-2.4.5-bin-without-hadoop/jars
hdfs dfs -put * /spark-jars
hdfs dfs -ls /spark-jars
hdfs dfs -mkdir /user/spark
hdfs dfs -mkdir /user/spark/applicationHistory
//拷贝jar包到hive
cp scala-compiler-2.11.12.jar scala-library-2.11.12.jar scala-reflect-2.11.12.jar spark-core_2.11-2.4.5.jar spark-network-common_2.11-2.4.5.jar spark-unsafe_2.11-2.4.5.jar spark-yarn_2.11-2.4.5.jar /opt/dtstack/Hive/hive_pkg/lib/
连接beeline进行测试
cd $HIVE_HOME
./bin/beeline -u 'jdbc:hive2://emr1:10000/default'
set hive.execution.engine=spark;
insert into  test1 values(1); 

EB4FC879-09D5-4FEF-B490-6D1291452B59.png



Ps:
问题1:
java.lang.IllegalArgumentException: Required executor memory (1024), overhead (384 MB), and PySpark memory (0 MB) is above the max threshold (1024 MB) of this cluster
解决问题1:
Hive-site:
<property>
        <name>spark.yarn.executor.memoryOverhead</name>
        <value>4096</value>
    </property>


相关文章

COS快照迁移ES集群

一、COS 全量快照备份基于 COS 快照的迁移方式是使用 ES 的 snapshot api 接口进行迁移,基本原理就是从源 ES 集群创建索引快照,然后在目标 ES 集群中进行恢复。通过 snap...

DBMS_MONITOR包跟踪10046

该包是从Oracle 10g开始提供的,Oracle官方支持。等于10046 level 12。--跟踪当前会话: EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE;...

rancher证书到期处理

rancher证书到期处理

问题描述:rancher证书到期,需要更新rancher证书问题处理:基础环境信息:rancher版本: rancher:v2.4.3官方关于独立容器Rancher Server证书更新的解决方案:1...

Hive优化之监控(四)

Hive优化之监控(四)

    Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必...

Nginx限流

Nginx限流

一、背景         限流的目的是通过对并发访问/请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页),多应用于高并发场景和安全防护场景。通过限流有效地减缓暴力密码破解攻击,也可...

CDH实操--客户端安装

CDH实操--客户端安装

CDH客户端安装概述安装CDH客户端,主要是方便在CDH部署节点以外,通过客户端的方式连接CDH上的hdfs,hive和hbase服务1、安装jdk(适配CDH即可,一般1.8)2、获取安装包 3、部...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。