一、部署YARN
请读者参考我的另外一篇博文Hadoop安装及环境配置
二、部署Spark
1、修改Hadoop配置文件
如果Hadoop处于运行中,则修改配置后需要重启Hadoop相关服务来保证配置生效。个人建议最好停掉Hadoop相关服务,待部署成功在启动相关服务。
1.1、编辑Hadoop安装目录下的 yarn-site.xml文件
进入Hadoop安装目录下
cd /usr/hadoop/hadoop-2.10.0/etc/hadoop/
vi yarn-site.xml
添加如下配置
<!--是否启动一个线程检查每个任务正在使用的物理内存量。如果任务使用的内存量超出分配值,则会被中断。默认是true-->
<property>
<name>yarn.nodemanager.peme-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正在使用的虚拟内存量。如果任务使用的内存量超出分配值,则会被中断。默认是true-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
这两个配置是为了确保在基于YARN调度Spark任务时,不会因为资源不足导致任务被拒绝或被强制中断。
2、分发Hadoop配置文件
scp /usr/hadoop/hadoop-2.10.0/etc/hadoop/yarn-site.xml slave1:$PWD
scp /usr/hadoop/hadoop-2.10.0/etc/hadoop/yarn-site.xml slave2:$PWD
3、修改Spark配置文件
这一步的目的就是关联Hadoop与Spark
cd /usr/spark/spark-2.4.7-bin-hadoop2.7/conf/
进入Spark安装目录后执行以下命令:
vi spark-env.sh
在文档末尾添加
HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.10.0/etc/hadoop/
YARN_CONF_DIR=/usr/hadoop/hadoop-2.10.0/etc/hadoop/
4、分发Spark配置文件
scp /usr/spark/spark-2.4.7-bin-hadoop2.7/conf/spark-env.sh slave1:$PWD
scp /usr/spark/spark-2.4.7-bin-hadoop2.7/conf/spark-env.sh slave2:$PWD
5、启动Hadoop相关服务
start-dfs.sh
start-yarn.sh
6、启动Spark相关服务
cd /usr/spark/spark-2.4.7-bin-hadoop2.7/
sbin/start-all.sh
至此,你已成功部署基于YARN模式部署了Spark集群