关于Spark的配置
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)
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
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
<!--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>
mv hive-env.sh.template hive-env.sh
// 改成1个G,如果有条件,还可以调大
export HADOOP_HEAPSIZE=1024
## 3.HDFS
其他节点没有Spark,所以执行时也需要Spark依赖
hadoop fs -mkdir /spark-jars
hadoop fs -put /opt/module/spark/jars/* /spark-jars
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>0.8</value>
</property>
和spark连接的spark一定要处于active状态,否则会出现无法创建spark问题