失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Spark03:Spark安装部署【集群】:Standalone模式以及ON YARN模式

Spark03:Spark安装部署【集群】:Standalone模式以及ON YARN模式

时间:2018-10-28 17:09:07

相关推荐

Spark03:Spark安装部署【集群】:Standalone模式以及ON YARN模式

一、Spark集群安装部署

Spark集群有多种部署方式,比较常见的有Standalone模式和ON YARN模式

1、Standalone模式

Standalone模式就是说部署一套独立的Spark集群,后期开发的Spark任务就在这个独立的Spark集群中执行

2、ON YARN模式

ON YARN模式是说使用现有的Hadoop集群,后期开发的Spark任务会在这个Hadoop集群中执行,此时这个Hadoop集群就是一个公共的了,不仅可以运行MapReduce任务,还可以运行Spark任务,这样集群的资源就可以共享了,并且也不需要再维护一套集群了,减少了运维成本和运维压力,一举两得。

所以在实际工作中都会使用Spark ON YARN模式

不过为了考虑到大家可能会有一些特殊场景确实要使用standalone模式部署独立的spark集群,所以在这,针对这两种部署模式我们都讲一下。

3、下载安装包

那在具体安装部署之前,需要先下载Spark的安装包。

如果不想去官网下载,spark-2.4.3-bin-hadoop2.7.tgz

版本百度网盘链接如下:

链接:/s/1T0lkgadUAnO3fjqREUprbw?pwd=b1w7 提取码:b1w7

进到spark的官网,点击download按钮。

在这里可以选择Spark的版本和Hadoop的版本。

但是这里面只有Spark的最新版本,一般不建议选择最新版本,可以在最新版本往下面回退一两个小版本。

那我们想要下载其它版本的话就需要到archive里面下载了。

目前spark有三大版本,1.x,2.x和3.x,其中3.x是一个预览版本,不能在生产环境中使用,所以目前使用最多的就是2.x的版本了。

在这我们下载spark-2.4.3版本。

在这需要注意选择合适的安装包

因为我们使用Spark的时候一般都是需要和Hadoop交互的,所以需要下载带有Hadoop依赖的安装包。

这个时候就需要选择Hadoop版本对应的Spark安装包,我们的Hadoop是3.2的,里面Hadoop的版本只有2.6和2.7的,那就退而求其次选择hadoop2.7对应的这个Spark安装包,其实也是没什么问题的,如果有强迫症的话,就需要下载Spark的源码包,自己编译配套版本的安装包了。

其实在Spark3.0的那个预览版本里面是有和Hadoop3.2配套的版本的,不过那个不是稳定版本,不建议在生产环境下使用,所以就不考虑了。

所以最终我们就下载这个版本:

spark-2.4.3-bin-hadoop2.7.tgz

二、Standalone模式安装部署

由于Spark集群也是支持主从的,在这我们使用三台机器,部署一套一主两从的集群

主节点:bigdata01

从节点:bigdata02,bigdata03

注意:需要确保这几台机器上的基础环境是OK的,防火墙、免密码登录、还有JDK因为这几台机器我们之前已经使用过了,基础环境都是配置过的,所以说在这就直接使用了

1、先在bigdata01上进行配置

(1)上传安装包

将spark-2.4.3-bin-hadoop2.7.tgz上传到bigdata01的/data/soft目录中

(2)解压

解压

[root@bigdata01 soft]# tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz

(3)重命名spark-env.sh.template

[root@bigdata01 soft]# cd spark-2.4.3-bin-hadoop2.7/conf/[root@bigdata01 conf]# mv spark-env.sh.template spark-env.sh

(4)修改spark-env.sh

在文件末尾增加这两行内容,指定JAVA_HOME和主节点的主机名

export JAVA_HOME=/data/soft/jdk1.8export SPARK_MASTER_HOST=bigdata01

(5)重命名slaves.template

[root@bigdata01 conf]# mv slaves.template slaves

(6)修改slaves

将文件末尾的localhost去掉,增加bigdata02和bigdata03这两个从节点的主机名

bigdata02bigdata03

(7)将修改好配置的spark安装包,拷贝到bigdata02和bigdata03上

[root@bigdata01 soft]# scp -rq spark-2.4.3-bin-hadoop2.7 bigdata02:/data/soft/[root@bigdata01 soft]# scp -rq spark-2.4.3-bin-hadoop2.7 bigdata03:/data/soft/

(8)启动Spark集群

[root@bigdata01 soft]# cd spark-2.4.3-bin-hadoop2.7[root@bigdata01 spark-2.4.3-bin-hadoop2.7]# sbin/start-all.sh starting org.apache.spark.deploy.master.Master, logging to /data/soft/spark-2.4.3-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-bigdata01.outbigdata02: starting org.apache.spark.deploy.worker.Worker, logging to /data/soft/spark-2.4.3-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bigdata02.outbigdata03: starting org.apache.spark.deploy.worker.Worker, logging to /data/soft/spark-2.4.3-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bigdata03.out

(9)验证

在bigdata01上执行jps,能看到Master进程即可

[root@bigdata01 spark-2.4.3-bin-hadoop2.7]# jps1731 Master

在bigdata02和bigdata03上执行jps,能看到Worker进程即可

[root@bigdata02 ~]# jps1714 Worker[root@bigdata03 ~]# jps1707 Worker

还可以访问主节点的8080端口来查看集群信息

http://bigdata01:8080/

这就是Spark的独立集群

(10)提交任务

那我们尝试向这个Spark独立集群提交一个spark任务

提交任务的命令该如何写呢?

来看一下Spark的官方文档

需要使用bin目录下的spark-submit脚本提交任务

--class 指定需要指定的入口类,表示计算π值--master指定集群的地址

接着指定需要提交的任务jar包,最后的一个参数是计算π值这个任务自身需要的

[root@bigdata01 spark-2.4.3-bin-hadoop2.7]# bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://bigdata01:7077 examples/jars/spark-examples_2.11-2.4.3.jar 2

提交之后可以到Spark的8080 web界面查看任务信息

(11)停止Spark集群

在主节点 bigdata01上执行

[root@bigdata01 spark-2.4.3-bin-hadoop2.7]# sbin/stop-all.shbigdata03: stopping org.apache.spark.deploy.worker.Workerbigdata02: stopping org.apache.spark.deploy.worker.Workerstopping org.apache.spark.deploy.master.Master

三、ON YARN模式

ON YARN模式很简单,

先保证有一个Hadoop集群,然后只需要部署一个Spark的客户端节点即可,不需要启动任何进程,

注意:Spark的客户端节点同时也需要是Hadoop的客户端节点,因为Spark需要依赖于Hadoop

我们的Hadoop集群是bigdata01、bigdata02、bigdata03

那我们可以选择把Spark部署在一个单独的节点上就可以了,其实就类似于我们之前部署Hadoop的客户端节点。

在这我们使用bigdata04来部署spark on yarn,因为这个节点同时也是Hadoop的客户端节点。

1、上传安装包

将spark-2.4.3-bin-hadoop2.7.tgz上传到bigdata04的/data/soft目录中

2、解压

[root@bigdata04 soft]# tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz

3、重命名spark-env.sh.template

[root@bigdata04 soft]# cd spark-2.4.3-bin-hadoop2.7/conf/[root@bigdata04 conf]# mv spark-env.sh.template spark-env.sh

4、修改spark-env.sh

在文件末尾增加这两行内容,指定JAVA_HOME和Hadoop的配置文件目录

export JAVA_HOME=/data/soft/jdk1.8export HADOOP_CONF_DIR=/data/soft/hadoop-3.2.0/etc/hadoop

5、提交任务

那我们通过这个spark客户点节点,向Hadoop集群上提交spark任务

[root@bigdata04 spark-2.4.3-bin-hadoop2.7]# bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster examples/jars/spark-examples_2.11-2.4.3.jar 2

6、可以到YARN的8088界面查看提交上去的任务信息

此时就可以使用ON YARN模式来执行Spark任务了。

如果觉得《Spark03:Spark安装部署【集群】:Standalone模式以及ON YARN模式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。