04Spark

Posted xupccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04Spark相关的知识,希望对你有一定的参考价值。

04、Spark Standalone集群搭建

4.1 集群概述

独立模式是Spark集群模式之一,需要在多台节点上安装spark软件包,并分别启动master节点和worker节点。master节点是管理节点,负责和各worker节点通信,完成worker的注册与注销。worker节点是任务执行节点,通过worker节点孵化出执行器子进程来执行任务。

4.2 集群规划

这里使用4台主机部署Spark集群,主机名称分别是s101、s102、s103和s104。

s101                    #Master节点
s102                    #Worker节点
s103                    #Worker节点
s104                    #Worker节点

4.3 集群搭建

4.3.1 安装Spark软件包

按照前文安装spark软件包的方式分别在以上四台主机上安装Spark,注意目录和权限尽量保持一致,以便集群容易维护和管理。也可以将之前的Spark安装目录和环境变量文件分发到以上四台主机。具体安装步骤略。

4.3.2 配置hadoop软连接

在以上四台机的spark配置目录下,创建core-site.xml和hdfs-site.xml软连接文件指向hadoop的配置文件。

#进入配置目录
$>cd /soft/spark/conf

#创建软连接
$>ln -s /soft/hadoop/etc/hadoop/core-site.xml core-site.xml
$>ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml hdfs-site.xml

创建完成后,如下图所示:

技术分享图片

4.3.3 修改slaves文件

只需要在master节点对该文件进行修改即可,但为了保持所有节点配置一致性,我们对所有节点都进行修改,或者修改后进行分发。slaves文件内容如下:

#使用如下命令进入slaves文件编辑模式
$>nano /soft/spark/conf/slaves

#输入如下内容,列出所有worker节点。
s102
s103
s104

4.3.4 配置JAVA_HOME环境变量

修改配置目录下spark-env.sh文件,指定JAVA_HOME环境变量。

#使用如下命令进入spark-env.sh文件编辑模式
$>nano /soft/spark/conf/spark-env.sh

#添加如下内容
...
export JAVA_HOME=/soft/jdk
...

编辑内容如下图所示:

技术分享图片

4.4 启动集群

启动spark集群时,如果配置了hadoop配置文件,需要先启动hadoop集群,然后再启动Spark集群。由于Spark Standalone集群模式只是从hdfs读取文件,并不需要yarn的支持,因此只需要启动hadoop的hdfs相关进程即可。

#启动hadoop hdfs
$>/soft/hadoop/sbin/start-dfs.sh

#启动Spark集群
$>/soft/spark/sbin/start-all.sh

注意:Spark和Hadoop都有启动所有进程的脚本,并且都叫start-all.sh,因此再使用时一定要使用绝对路径。

查看进程结果如图:

技术分享图片

4.5 查看webui

通过如下url地址访问spark webui:

http://s101:8080/

打开页面如下图所示:

技术分享图片

以上是关于04Spark的主要内容,如果未能解决你的问题,请参考以下文章

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段

Spark闭包与序列化

控制 spark-sql 和数据帧中的字段可空性

spark 例子wordcount topk

Spark:如何加速 foreachRDD?

Spark发现匹配字符串的出现次数