Spark:安装及环境配置指南!

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

1、Apache spark下载

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

图片[1]-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.tsinghua.edu.cn/apache/spark/spark-2.1.2/spark-2.1.2-bin-hadoop2.7.tgz

图片[2]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

2、安装spark

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

图片[3]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[4]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[5]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

3、配置spark环境变量

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

图片[6]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[7]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[8]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[9]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

退出spark-shell使用命令:quit

图片[10]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

4、在其他节点安装spark

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

图片[11]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客
图片[12]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客
图片[13]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

5、配置spark相关文件

第一步:spark-env.sh文件

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

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

图片[14]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

Spark相关配置

图片[15]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

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

图片[16]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[17]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[18]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[19]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

第二步:log4j.properties

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

图片[20]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[21]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[22]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

第三步:slaves文件

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

图片[23]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

使用vim编辑器编辑slaves

图片[24]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[25]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[26]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[27]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

通过jps查看启动的进程,在master节点上spark的进程是Master,在slave节点上spark相关进程是Worker。

图片[28]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

图片[29]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

再停止hadoop集群

图片[30]-Spark:安装及环境配置指南!-卡咪卡咪哈-一个博客

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

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

    THE END
    喜欢就支持一下吧
    点赞14 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容