首页 理论教育 安装Spark及集群部署详解

安装Spark及集群部署详解

时间:2023-06-20 理论教育 版权反馈
【摘要】:SparkWorker1和SparkWorker2采用与SparkMaster结点相同的安装配置,可以使用SSH通信直接复制Spark的安装目录和“~/.bashrc”文件到另外两台机器相同的目录下,这里不再详解。3)此时使用JPS在SparkMaster结点、SparkWorker1和SparkWorker2结点分别可以查看到新开启的Master和Worker进程。4)可以进入Spark的WebUI页面,访问“SparkMaster:8080”,如图2-18所示。图2-19 Spark-Shell的WebUI页面这时,Spark集群部署成功,下面进行集群的测试。

安装Spark及集群部署详解

Spark需要运行在三台机器上,这里先安装Spark到SparkMaster这台机器上,另外两台的安装方法一样,也可以使用SSH的“scp”命令把SparkMaster机器上的安装好的Spark目录复制到另外两台机器相同的目录下。

(1)从Spark官网下载Spark安装包,笔者用的是spark-1.1.0。下载完后解压,并存放到自己指定的存储目录下:

978-7-111-52860-9-Chapter02-39.jpg

(2)配置环境变量,打开“~/.bashrc”文件,添加“SPARK_HOME”,并把Spark的bin目录添加到PATH中:

978-7-111-52860-9-Chapter02-40.jpg

保存并退出,并使用“source~/.bashrc”命令使配置文件的修改生效。

(3)配置Spark。需要配置spark-env.sh文件和slaves文件,首先需要在当前目录下复制spark-env.sh.template文件为spark-env.sh文件,如下所示:

978-7-111-52860-9-Chapter02-41.jpg

用vim打开spark-env.sh文件,配置的内容如下:

978-7-111-52860-9-Chapter02-42.jpg

保存并退出后,记得使配置信息生效。配置信息所表示的意义分别为:

1)JAVA_HOME指的是Java的安装目录;

2)SCALA_HOME指的是Scala的安装目录;

3)HADOOP_HOME指的是Hadoop的安装目录(或者说HDFS的部署路径,因为Spark需要和HDFS中的结点在一起工作);

4)HADOOP_CONF_DIR指的是Hadoop集群的配置文件的目录;

5)SPARK_MASTER_IP指的是Spark集群的Master结点的IP地址

6)SPARK_WORKER_MEMORY指的是每个Worker结点能够最大分配给Exectors的内存大小;

7)SPARK_WORKER_CORES指的是每个Worker结点所占有的CPU核数目。

8)SPARK_WORKER_INSTANCE指的是每台机器上开启的Worker结点的数目。

接下来配置slaves文件,把Worker结点的主机名都添加进去,修改后的内容为:

978-7-111-52860-9-Chapter02-43.jpg(www.xing528.com)

可以看到我们只设置了两台机器作为工作结点。

(4)SparkWorker1和SparkWorker2采用与SparkMaster结点相同的安装配置,可以使用SSH通信直接复制Spark的安装目录和“~/.bashrc”文件到另外两台机器相同的目录下,这里不再详解。

(5)启动并测试集群的状况。

1)当前我们只使用Hadoop的HDF文件系统,所以可以只启动Hadoop的HDFS文件系统。进入Hadoop的sbin目录下,然后在shell命令终端输入:./start-dfs.sh命令,可以看到SparkMaster启动了namenodes,SparkWorker1和SparkWorker2都启动了datanode,表示HDFS文件系统已经启动。

978-7-111-52860-9-Chapter02-44.jpg

2)用Spark的sbin目录下的“start-all.sh”命令启动Spark集群,这里需要注意的是在命令终端必须写成“./start-all.sh”,因为在Hadoop的sbin目录下也有一个“start-all.sh”可执行文件。

978-7-111-52860-9-Chapter02-45.jpg

3)此时使用JPS在SparkMaster结点、SparkWorker1和SparkWorker2结点分别可以查看到新开启的Master和Worker进程。

978-7-111-52860-9-Chapter02-46.jpg

4)可以进入Spark的WebUI页面,访问“SparkMaster:8080”,如图2-18所示(8080为Spark的WebUI监听端口,7077是Spark集群的Master的内部监听端口)。

978-7-111-52860-9-Chapter02-47.jpg

图2-18 SparkMaster的WebUI

从图2-18可以看出有两个正在运行的Worker结点。

5)进入Spark的bin目录(当然因为我们已经把Spark的bin目录设置在~/.bashrc文件中,可以直接在其他目录下使用spark-shell命令),使用“spark-shell”命令可以进入spark-shell控制台

978-7-111-52860-9-Chapter02-48.jpg

978-7-111-52860-9-Chapter02-49.jpg

我们也可以在WebUI页面输入“http://SparkMaster:4040”从Web的角度了解Spark-Shell(如图2-19所示)。

978-7-111-52860-9-Chapter02-50.jpg

图2-19 Spark-Shell的WebUI页面

这时,Spark集群部署成功,下面进行集群的测试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈