分享

Spark安装及环境配置

 CDA数据分析师 2020-05-14

前篇文章介绍了scala的安装与配置、接下来介绍一下spark的安装及环境配置。                 

1、Apache spark下载

    在浏览器输入网址https://spark./downloads.html进入spark的下载页面,如下图所示:

 

下载时需要注意的是在第1步选择完spark版本之后的第2步“choose a package type ”时,spark与hadoop版本必须配合使用。因为spark会读取hdfs文件内容而且spark程序还会运行在HadoopYARN上。所以必须按照我们目前安装的hadoop版本来选择package type。我们目前使用的hadoop版本为hadoop2.7.5,所以选择Pre-built for Apache Hadoop 2.7 and later。

点击第3步Download Spark后的连接 spark-2.1.2-bin-hadoop2.7.tgz进入下图所示的页面。在国内我们一般选择清华的服务器下载,这下载速度比较快,连接地址如下:

https://mirrors.tuna./apache/spark/spark-2.1.2/spark-2.1.2-bin-hadoop2.7.tgz

2、安装spark

通过WinSCP将spark-2.1.2-bin-hadoop2.7.tgz上传到master虚拟机的Downloads目录下,然后解压到用户主目录下并更改解压后的文件名(改文件名目的是名字变短,容易操作)。解压过程需要一点时间,耐心等待哈。

解压完成后通过ls命令查看当前用户主目录,如下图所示增加了spark-2.1.2-bin-hadoop2.7文件目录

通过mv命令更改spark-2.1.2-bin-hadoop2.7名为spark

3、配置spark环境变量

通过命令vim .bashrc编辑环境变量

在文件末尾增加如下内容,然后保存并退出

重新加载环境变量配置文件,使新的配置生效(仅限当前终端,如果退出终端新的环境变量还是不能生效,重启虚拟机系统后变可永久生效)

通过spark-shell展示spark是否正确安装,Spark-shell是添加了一些spark功能的scala REPL交互式解释器,启动方式如下图所示。启动过程中会打印spark相关信息如版本。

退出spark-shell使用命令:quit

4、在其他节点安装spark

在master节点安装完成后只需复制spark文件目录及.bashrc文件到其他节点即可,具体操作命令可按下图操作

最后重启slave1、slave2即可使配置文件生效。到这里spark安装完成,接下来就是根据spark运行模式来配置spark相关配置文件使集群正常工作。

5、配置spark相关文件

第一步:spark-env.sh文件

通过环境变量配置确定的Spark设置。环境变量从Spark安装目录下的conf/spark-env.sh脚本读取。

可以在spark-env.sh中设置如下变量:

环境变量

含义

JAVA_HOME

Java安装路径

SCALA_HOME

scala安装路径

HADOOP_HOME

Hadoop安装路径

Spark相关配置

环境变量

含义

SPARK_HOME

Spark安装路径

SPARK_WORKER_CORES

每个work使用的CPU核心数

SPARK_WORKER_INSTANCES

设置实例数

SPARK_WORKER_MEMORY

Work使用的内存

SPARK_MASTER_IP

设置master 的IP或者服务区名称

首先开启三个虚拟机master 、slave1、slave2,接下来在master主机上配置,配置完成之后将spark/conf发送到其他节点即可。

我们先跳转到spark/conf目录下看看我们需要配置哪些文件。如下图所示通过ls命令查看文件列表,我们今天主要用到的有spark-env.sh.template、slaves.template,我们还可以用log4j.properties.template来修改输出信息。

注意,当Spark安装时,conf/spark-env.sh默认是不存在的。你可以复制conf/spark-env.sh.template创建它。

通过vim编辑器编辑spark-env.sh,在终端中我们可以只输入前几个字母然后按tab键来给我们自动补全。

在文件末尾添加如下内容,保存并退出

第二步:log4j.properties

spark在启动过程中会有大量日志信息打印出来,如果我们只想看警告或者错误,而不是一般信息可以在log4j.properties中设置,同样的spark为我们提供了一个模板文件,需要通过模板复制出log4j.properties

设置方法为将文件第二行INFO改为WARN

更改完成后文件内容如下图所示,记得保存并退出。

第三步:slaves文件

slaves文件主要作用是告诉spark集群哪些节点是工作节点worker,这里slaves文件也需要由模板文件复制过来,操作如下图所示

使用vim编辑器编辑slaves

文件中输入如下内容,表示工作节点为slave1和slave2,保存并退出。

最后将spark/conf目录移动到slave1 slave2节点spark目录下,操作如下图所示

现在就可以启动集群了,先启动hadoop集群(也可以不用hadoop,但是在实际应用中大部分spark还是会用到hadoop的资源管理YARN)再启动spark集群,操作如下所示。

通过jps查看启动的进程,在master节点上spark的进程是Master

,在slave节点上spark相关进程是Worker。

停止集群时要先停止spark集群

再停止hadoop集群

spark相关的内容就到这里,关于spark的详细应用会有单独系列文章介绍,敬请期待。

   小提示:每天虚拟机和集群不用了尽量正常关闭,而不是暴力关闭Vmware软件。不然集群容易崩溃😂。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多