Linux 下Spark on Yarn 部署

若没有看过Spark 本地部署与Spark standalone部署,可以参考之前的文章
Linux 下Spark的Local部署(本地Spark shell和本地伪分布式集群)

Linux下Spark Standalone 部署

Spark on Yarn,只需要在Yarn集群其中一个节点上安装Spark即可,该节点可作为提交Spark应用程序到YARN集群的客户端。Spark本身的Master节点和Worker节点不需要启动,由Yarn集群统一调度。

1. 修改 Yarn 集群配置

修改node1 上 Hadoop的 yarn-site.xml,添加如下内容,避免因为内存超出分配限额而直接杀死任务。
Linux 下Spark on Yarn 部署_第1张图片

2. 将 node01 上 yarn-site.xml 文件分发到其他节点。

scp

3.启动HDFS & YARN 集群

scp yarn-site.xml node02:/usr/local/hadoop/etc/hadoop/yarn-site.xml
scp yarn-site.xml node03:/usr/local/hadoop/etc/hadoop/yarn-site.xml

4. 在node01上安装部署Spark(过程略)参考上面链接,并修改spark-env.sh添加如下配置

在这里插入图片描述

5.Spark on Yarn 有两种运行模式:

5.1Client 模式(适用于开发测试环境)

#可以通过如下四种方式启动 Client 模式
$ ./bin/spark-submit --master yarn
$ ./bin/spark-submit --master yarn-client
$ ./bin/spark-submit --master yarn --deploy-mode client
$ ./bin/spark-shell --master yarn --deploy-mode client

5.2 Cluster 模式(适用于生产环境)

#可以通过如下二种方式启动 cluster 模式
$ ./bin/spark-submit --master yarn-cluster
$ ./bin/spark-submit --master yarn --deploy-mode cluster

6. 运行一个Spark shell,做一些实验

Linux 下Spark on Yarn 部署_第2张图片

6.1 通过 Client模式 提交运行一个应用程序,计算Pi值

Linux 下Spark on Yarn 部署_第3张图片
Linux 下Spark on Yarn 部署_第4张图片

6.2 通过 Cluster 模式提交运行一个应用程序,计算Pi值

Linux 下Spark on Yarn 部署_第5张图片
Linux 下Spark on Yarn 部署_第6张图片

日志中的结果:
Linux 下Spark on Yarn 部署_第7张图片

7. 在操作过程中,随时可以通过Web界面查看 YARN 集群的运行情况

Linux 下Spark on Yarn 部署_第8张图片
Linux 下Spark on Yarn 部署_第9张图片

注意,Spark本身的Master节点和Worker节点都运行在Yarn集群的容器(container)中,无法通过Spark集群的Web界面直接查看。

你可能感兴趣的:(大数据,分布式,spark,大数据)