主页 > 新闻资讯 > Spark安装教程:Spark 本地安装配置

Spark安装教程:Spark 本地安装配置

作者:张老师 浏览次数: 2020-02-19 18:33
学些Spark技术框架,首先对于安装配置这一关是一定要过的,Spark提供的三种安装部署模式,针对不同的需求场合可以自行选择。当然,不同模式的安装配置,部署要求也是不一样的。今天我们就为大家带来Standalone模式的Spark安装教程,大家可以参照着在自己的电脑上安装。

Spark安装教程

1、配置 jdk 环境

解压文件:

tar -zxf jdk-8u211-linux-x64.tar.gz

配置环境变量:

export JAVA_HOME=/path/to/jdk1.8.0_211

export PATH=$PATH:$JAVA_HOME/bin

2、配置 Spark 环境

解压文件:

tar -xf spark-2.4.3-bin-hadoop2.7.tgz

配置环境变量:

export SPARK_HOME=/path/to/spark-2.4.3-bin-hadoop2.7

export PATH=$PATH:$SPARK_HOME/bin

修改spark-env.sh 文件

cd spark-2.4.3-bin-hadoop2.7

cp conf/spark-env.sh.template conf/spark-env.sh

vim conf/spark-env.sh

# 增加如下内容:

export JAVA_HOME=/path/to/jdk1.8.0_211

export SPARK_MASTER_HOST=192.168.56.106

修改slaves文件

cp conf/slaves.template conf/slaves

vim conf/slaves

# 增加如下内容:

192.168.56.106

192.168.56.107

192.168.56.108

3、配置 ssh 免密登录

配置 ssh 免密登录,是为了能够在master机器上来启动所有worker节点,如果不配置免密登录,则在启动每个worker时,都需要输入一遍密码,会很麻烦。当然,如果机器少的话,也可以登录到worker节点上,手动一个一个启动worker。

执行:ssh-keygen -t rsa,一直按回车即可。

并且在用户目录下会自动生成.ssh目录执行ls ~/.ssh可以看到两个文件:

id_rsa  生成的私钥文件

id_rsa.pub  生成的公钥文件

将id_rsa.pub复制到其它机器上,执行以下几条命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub royran@192.168.56.106: # master所在的主机,如果master不做woker可以不需要。

ssh-copy-id -i ~/.ssh/id_rsa.pub royran@192.168.56.107:

ssh-copy-id -i ~/.ssh/id_rsa.pub royran@192.168.56.108:

4、配置其它 worker 节点

当前已在master节点配置好了环境,还需要在其它worker节点上配置相类似的环境。

配置其它worker节点很简单,只需要将jdk1.8.0_211及spark-2.4.3-bin-hadoop2.7两个目录复制到其它worker节点机器上即可。但要注意,这两个目录在其它 worker 上的绝对路径需要与 master 上的绝对路径一致,不然无法直接在 master 上启动其它 worker 节点。

依次执行以下命令(如果已经配置好 ssh 免密,可以发现执行 scp 指令不需要两次输入密码):

scp -r /path/to/jdk1.8.0_211username@192.168.56.107:/path/to/jdk1.8.0_211

scp -r /path/to/jdk1.8.0_211username@192.168.56.108:/path/to/jdk1.8.0_211

scp -r /path/to/spark-2.4.3-bin-hadoop2.7username@192.168.56.107:/path/to/spark-2.4.3-bin-hadoop2.7

scp -r /path/to/spark-2.4.3-bin-hadoop2.7username@192.168.56.108:/path/to/spark-2.4.3-bin-hadoop2.7

5、启动 master

执行:

sbin/start-master.sh

输入jps指令(该指令在$JAVA_HOME/bin 目录下)可以查看 java 进程名,看到有Master字样,说明master进程启动成功了,启动master后,spark 默认会监听8080端口,并可以通过浏览器打开 web 界面,在地址栏输入http://192.168.56.106:8080,查看集群状态。

6、启动 worker 节点

执行:

sbin/slaves.sh

会看到类似这样的输出:

再输入jps,会列出当前启动的java进程,显示Worker字样,说明worker进程启动成功了。

此时再刷新下打开的浏览器界面(http://192.168.56.106:8080),可以看到当前启动了三个Worker节点。

7、测试

在{SPARK_HOME}/examples/src/main目录下,有一些 spark 自带的示例程序,有 java、python、r、scala 四种语言版本的程序。这里主要测试 python 版的计算PI的程序。

cd ${SPARK_HOME}/examples/src/main/python

将pi.py程序提交到 spark 集群,执行:

spark-submit --master spark://192.168.56.106:7077 pi.py

刷新浏览器界面,在Completed Applications栏可以看到一条记录,即刚才执行的计算PI的 python 程序。

另外,如果觉得在终端中输出的日志太多,可以修改日志级别:

cp ${SPARK_HOME}/conf/log4j.properties.template ${SPARK_HOME}/conf/log4j.properties

vim ${SPARK_HOME}/conf/log4j.properties

修改日志级别为WARN:

再重新执行:spark-submit --master spark://192.168.56.106:7077 pi.py,可以看到输出日志少了很多。

除了提交 python 程序外,spark-submit 还可以提交打包好的java、scala程序,可以执行spark-submit --help看具体用法。

Spark 配置文件说明

在下载下来的spark-2.4.3-bin-hadoop2.7.tgz中,conf 目录下会默认存在这几个文件,均为 Spark 的配置示例模板文件:

这些模板文件,均不会被 Spark 读取,需要将.template后缀去除,Spark 才会读取这些文件。这些配置文件中,在 Spark 集群中主要需要关注的是log4j.properties、slaves、spark-defaults.conf、spark-env.sh这四个配置文件。

log4j.properties的配置,可以参考Apache Log4j官网上的 Propertities 属性配置说明。

slaves的配置,里面为集群的所有worker节点的主机信息,可以为主机名,也可以为 ip 地址。

spark-defaults.conf的配置,可以参考Spark 官网的属性配置页。比如指定 master 节点地址,可以设置spark.master属性;指定 executor 的运行时的核数,可以设置spark.executor.cores属性等。

spark-env.sh是 Spark 运行时,会读取的一些环境变量,在本文中,主要设置了三个环境变量:JAVA_HOME、SPARK_HOME、SPARK_LOCAL_IP,这是 Spark 集群搭建过程中主要需要设置的环境变量。其它未设置的环境变量,Spark 均采用默认值。其它环境变量的配置说明,可以参考Spark 官网的环境变量配置页。

至此,Spark 集群的Standalone模式部署全部结束。

好了,以上就是今天的Spark安装教程分享了,Standalone模式是Spark当中最基础的模式,应对学习阶段的练习任务时足够的,而其他的两种模式,随着后续的学习深入,大家也可以继续尝试,多多联系。成都加米谷大数据,专业大数据培训机构,大数据开发春季班正在招生中,详情可联系客服了解!
热点排行
推荐文章
立即申请>>