前篇文章介绍了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中设置如下变量:
Spark相关配置
首先开启三个虚拟机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.propertiesspark在启动过程中会有大量日志信息打印出来,如果我们只想看警告或者错误,而不是一般信息可以在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软件。不然集群容易崩溃😂。 |
|
来自: CDA数据分析师 > 《数据分析·Python编程·可视化》