1、Apache Hadoop2.7中的YARN与JAVA8有冲突,如果想要使用spark on yarn,首先需要在yarn-site.xml中配置如下项:
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2、将yarn-site.xml分发给所有机器
scp ./yarn-site.xml s11:/opt/app/hadoop-2.7.2/etc/hadoop/
scp ./yarn-site.xml s12:/opt/app/hadoop-2.7.2/etc/hadoop/
scp ./yarn-site.xml s13:/opt/app/hadoop-2.7.2/etc/hadoop/
scp ./yarn-site.xml s14:/opt/app/hadoop-2.7.2/etc/hadoop/
3、解压
tar -xzvf spark-2.3.1-bin-hadoop2.7.tgz -C /opt/app
3、配置环境变量
export SPARK_HOME=/opt/app/spark-2.3.1-bin-hadoop2.7
追加到PATH::$SPARK_HOME/bin:$SPARK_HOME/sbin
4、进入到spark的conf目录
cp spark-env.sh.template spark-env.sh
5、vi spark-env.sh
HADOOP_CONF_DIR=/opt/app/hadoop-2.7.2/etc/hadoop //hadoop的etc/hadoop目录下,注意
注:其实上述配置的用意很简单,spark可以通过我们的配置文件自动去寻找YARN的连接地址,同时,spark也能找到HDFS等Hadoop一切的相关配置
6、启动
spark-shell