大数据之脚踏实地学11--Spark神器的安装

2019-07-15 14:31:16 浏览数 (1)

前言

在《大数据之脚踏实地学10--Hive独立式安装》一文中我们已经介绍了Hive工具的安装流程,基于Hive可以轻松的在Hadoop集群内实现SQL语句的落地。如果没有她,数据的管理操作都要通过编写Java代码,运行Map-Reduce,那将是一件非常头疼的事。

在本期中,我们将继续安装另一件大数据神器,那就是Spark,它是一款专用于数据运算的引擎,它可以更好地适用于数据挖掘与机器学习等需要迭代的Map-Reduce的算法,并且它基于内存的运算,要比Hadoop高效很多。

安装Scala

由于Spark 是在 Scala 语言中实现的,并且其将 Scala 用作应用程序的框架,所以,在安装Spark之前,必须安装它的依赖,即 Scala软件。安装过程很简单,即解压、配置环境变量(注意,Scala在Master机器和Slave机器中都需要安装)。

  • 下载Scala软件

前往Scala的官网(https://www.scala-lang.org/download/),直接下载最新版本的Scala软件,目前的版本为2.12.8。

  • 上传至Master和Slave机器

利用xftp软件,将下载下来的压缩包软件上传至master主机和两台slave从机中。

  • 解压缩

将xshell软件的的窗口调整至下图所示的效果(即通过菜单中的“选项卡“设置为“瓷砖排序”,并选择“工具”内的“发送键输入到所有对话“):

配置好窗口后,切换到/opt/SoftWare目录,使用如下命令,对Scala的.tgz文件做解压缩,并将解压缩目录重命名为scala:

tar -xzf scala-2.12.8.tgz

mv scala-2.12.8 scala

  • 配置环境变量

vim /etc/profile

source /etc/profile

输入scala命令,如果出现下图中的结果,就说明你已成功安装scala软件。

安装Spark

安装Spark的过程与安装Scala很像,操作步骤也非常的简单,具体如下:

  • 下载Spark软件

前往Spark的官网(http://spark.apache.org/downloads.html),直接下载最新版本的Spark软件,目前的版本为2.4.0。

  • 上传至master与slave机器
  • 解压缩

使用如下命令,对Spark的.tgz文件做解压缩,并将解压缩目录重命名为spark:

tar -xzf spark-2.4.0-bin-hadoop2.7.tgz

mv spark-2.4.0-bin-hadoop2.7 spark

  • 配置文件

配置环境变量:vim /etc/profile

刷新环境变量:source /etc/profile

配置spark-env.sh文件

将目录切换到spark下的conf目录,即/opt/SoftWare/spark/conf,然后将spark-env.sh.template文件拷贝为spark-env.sh,然后利用vim命令,往文件末尾添加如下内容:

cp spark-env.sh.template spark-env.sh

vim spark-env.sh

配置slaves文件

将slaves.template文件重新拷贝为slaves,然后利用vim命令,进入文件,将最后一行的localhost删除,并往文件末尾添加如下内容:

到目前为止,Spark的安装和配置就算完成了,接下来我们去启动并验证Spark(需要注意的是,启动前需要启动HDFS和YARN,因为基于Spark分析的数据还都存储在HDFS中)。

启动Spark

启动HDFS和YARN只需要在Master机器中执行如下两条命令,并通过jps查看启动的进程:

start-dfs.sh

start-yarn.sh

jps

启动Spark,需要先将目录切换到spark的sbin下,然后仅在Master机器中执行./start-all.sh命令。为验证是否成功启动,可以输入jps命令,结果如下:

从上图可知,master机器中多了Master进程,slave1和slave2机器中多了Worker进程,说明Spark已成功启动。最后,我们通过网页端,也能够发现Spark已启动,只需要在浏览器中输入master:8080

最后,我们再启动Spark的Shell(它是执行Spark代码的交互式环境,类似于Linux的终端),命令为spark-shell,看一看它长啥样子:

如上图所示,你会发现,在启动Spark的交互式窗口后,命令行的前缀是scala>,说明接下来等待你输入的是Scala语句。

结语

本期的内容就介绍到这里,由于后期我们将重点讲解Spark机器学习的应用,但考虑到很多朋友对Scala的了解并不是很多,所以我将准备15期左右的内容介绍Scala工具。如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

0 人点赞