关于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

添加内容

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

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

2.hive中创建spark配置文件

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

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

添加

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

2.修改hive-site.xml

<!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://hadoop102:8020/spark-jars/*</value>
</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>

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

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

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

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

hadoop fs -mkdir /spark-jars
hadoop fs -put /opt/module/spark/jars/* /spark-jars

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

<property>
    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>0.8</value>
</property>

4.注意

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值