欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

云计算Spark集群搭建教程

程序员文章站 2022-03-15 11:16:59
云计算Spark集群搭建教程。 集群规划: 节点 Spark node1 1(master) node2 1(worker) node3 1(worker) node4 1 (客户...

云计算Spark集群搭建教程。

集群规划:

节点 Spark
node1 1(master)
node2 1(worker)
node3 1(worker)
node4 1 (客户端)

1、上传安装包,解压到/home/目录下;

2、在hadoop1主机上,进入/home/spark-1.6.0-bin-hadoop2.6/conf 目录下,修改spark-env.sh 文件(如果没有该文件,则将spark-env.sh.template修改为spark-env.sh),添加如下配置:

export SPARK_MASTER_IP=node1

export SPARK_MASTER_PORT=7077

export SPARK_WORKER_CORES=2

export SPARK_WORKER_MEMORY=1g

注:7077是master节点与worker节点进行通信的端口,默认是7077。另外spark提供了webUI的界面,默认端口是8080,在${spark-home}/bin/start-master.sh中配置。

3、在同一个目录下,修改slaves文件(若没有slaves文件,则修改slaves.template为slaves),删除原有配置,添加如下配置:

node2

node3

4、将hadoop1上配置好的安装包,同步至hadoop2、hadoop3两台主机上。

[root@node1 home]# pwd

/home

[root@node1 home]# scp -r spark-1.6.0-bin-hadoop2.6/ node2:`pwd`

[root@node1 home]# scp -r spark-1.6.0-bin-hadoop2.6/ node3:`pwd`

5、启动Spark集群:在master节点(node1)上,进入/home/spark-1.6.0-bin-hadoop2.6/sbin 目录,执行启动命令:

[root@node1 sbin]# ./start-all.sh

注意:启动的时候,要注意添加路径,因为脚本名称和hadoop集群的脚本名称相同,故此处要指明脚本的路径。

6、使用jps命令查看各节点上的进程,验证集群是否启动成功。

访问Web管理界面,验证是否搭建成功。https://192.168.152.101:8080/

云计算Spark集群搭建教程

附:在实际使用的时候,一般不在spark集群(即本文的 node1~node3 主机)上直接提交作业,而是在一台专门的客户端加上去提交。 下面以 node4 作为客户端,说明客户端的搭建和使用方式。

其实spark客户端的搭建与使用十分简单,只需要把spark的安装包拷贝至客户端上即可, 拷贝完成后,就可以在客户端进行提交任务的操作。

在node1主机上,执行如下命令,将spark的安装包拷贝至客户端:

scp -r /home/spark-1.6.0-bin-hadoop2.6 node4:`pwd`

Spark任务提交命令(standalone模式下):

./spark-submit --master spark://node1:7077 --deploy-mode client --jars ../lib/spark-examples-1.6.0-hadoop2.6.0.jar --class org.apache.spark.examples.SparkPi 100

Spark on Yarn:

说明:

1、在standalone模式下,资源调度与任务执行的节点分别叫做 master和worker ;

在yarn模式下,负责资源调度与任务执行的接口分别叫做 resourcemanager 和nodemananger。

2、将spark应用提交到yarn上时,没有用到standalone集群,所以standalone集群可以关闭。

要将spark应用提交到yarn上运行, 需进行两项准备工作:

1、提前将yarn和hdfs启动(启动hdfs的目的在于:在提交任务时,spark框架会将jar包上传到hdfs集群上,这样各个计算节点就可以从hdfs集群上获取jar包,以进行计算任务,hdfs此时的作用相当于ftp服务器),可将hadoop集群启动,也可以单独启动hdfs和yarn。

start-all.sh

2、修改客户端配置:spark-env.sh , 指定hadoop配置文件的目录(任务执行前,会向resourcemanager申请资源。spark框架会从此项配置中获取resourcemanager运行在哪个节点上)。

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

准备工作做好之后,就可以提交命令,将spark应用提交到yarn上运行了

./spark-submit --master yarn--jars ../lib/spark-examples-1.6.0-hadoop2.6.0.jar --class org.apache.spark.examples.SparkPi 100

关于--master的说明, 有三种取值:

(a) yarn-client 以客户端方式提交

(b) yarn-cluster 以集群方式提交

(c) yarn 等同于 yarn-client