Spark的安装和配置

Spark简介

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
Spark最初作为一个研究项目,诞生于加州大学伯克利分校AMP实验室,主要原因是AMP实验室的研究人员发现在机器学习迭代算法场景下,Hadoop MapReduce的效率很低。为了迭代算法和交互式查询两种典型的场景,于是Spark应运而生。
Spark刚诞生时,常常被称为内存计算,主要原因是在典型应用中,Spark读取HDFS中的文件,加载到内存,在内存中使用弹性分布式数据集(Resilient Distributed Dataset,RDD)来组织数据。RDD可以重用,支持重复访问,在机器学习的各个迭代中它都会驻留在内存,这样可以显著的提升性能。即便是必须使用磁盘进行复杂计算的场景,Spark也常常比Hadoop MapReduce更加高效。
Saprk是一个通用计算框架,包含了特定场景下的计算库:Streaming、SQL、MLlib、Graphx等,除了支持常见的MapReduce范式,还能够支持图计算、流式计算等复杂计算场景,在很大程度上弥补了Hadoop的不足。

Spark分布式安装部署

安装Scala

首先在集群中的主节点服务器hadoop-1中进行安装配置,Scala安装包可以到官方网站https://www.scala-lang.org/进行下载。
使用Xftp将Scala和Spark安装包上传到hadoop-1的/usr目录下:

Spark安装01.png

安装Scala,进入/user目录,使用tar命令将压缩包进行解压,执行命令:

# tar zxvf scala-2.12.2.tgz
Spark安装02.png

解压完成后会在/usr目录下生成scala-2.12.2目录:


Spark安装03.png

使用vim编辑环境变量:

# vim /etc/profile

新增内容如下:

export SCALA_HOME=/usr/scala-2.12.2
export PATH=$SCALA_HOME/bin:$PATH
Spark安装04.png

保存退出,,执行命令使修改生效:

# source /etc/profile

执行以下命令查看安装是否成功:

# scala -version
Spark安装05.png

显示版本信息则安装成功,hadoop-2和hadoop-3节点主机环境变量做相同配置。

安装Spark

Spark安装包可以到官方网站http://spark.apache.org/进行下载。
安装Spark,进入/user目录,使用tar命令将压缩包进行解压,执行命令:

# tar zxvf spark-2.4.4-bin-hadoop2.7.tgz
Spark安装06.png

解压完成后会在/usr目录下生成spark-2.4.4-bin-hadoop2.7目录:


Spark安装07.png

使用vim编辑环境变量:

# vim /etc/profile

新增内容如下:

export SPARK_HOME=/usr/spark-2.4.4-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
Spark安装08.png

保存退出,,执行命令使修改生效:

# source /etc/profile

Spark配置

进入Spark的配置文件目录,并查看该目录下的文件:

# cd /usr/spark-2.4.4-bin-hadoop2.7/conf/
# ll
Spark安装09.png

执行以下命令,创建spark-env.sh文件和slaves文件:

# cp spark-env.sh.template spark-env.sh
# cp slaves.template slaves
Spark安装10.png

使用vim编辑配置文件spark-env.sh:

# vim spark-env.sh

新增以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export HADOOP_HOME=/usr/hadoop-2.7.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SCALA_HOME=/usr/scala-2.12.2
export SPARK_HOME=/usr/spark-2.4.4-bin-hadoop2.7
export SPARK_MASTER_IP=hadoop-1
export SPARK_EXECUTOR_MEMORY=1G
Spark安装11.png

保存退出,使用vim编辑配置文件slaves文件:

# vim slaves

新增以下内容:

hadoop-2
hadoop-3
Spark安装12.png

保存退出。

部署

使用scp命令将Scala和Spark分别远程拷贝到hadoop-2和hadoop-3节点主机中:

# scp -r /usr/scala-2.12.2 hadoop-2:/usr/
# scp -r /usr/scala-2.12.2 hadoop-3:/usr/
# scp -r /usr/spark-2.4.4-bin-hadoop2.7 hadoop-2:/usr/
# scp -r /usr/spark-2.4.4-bin-hadoop2.7 hadoop-3:/usr/

在hadoop-2和hadoop-3两台主机的/usr目录下可以看到已经拷贝成功:


Spark安装15.png

启动Spark

启动Spark首先要保证Hadoop集群在运行中。
在hadoop-1主节点中进行启动,进入Spark的sbin目录下,执行启动命令:

# cd /usr/spark-2.4.4-bin-hadoop2.7/sbin/
# ./start-all.sh

启动完成后,使用jps命令可以查看启动的进程。
hadoop-1主节点为Master进程:

Spark安装17.png

hadoop-2和hadoop-3节点为Work进程:
Spark安装18.png

Spark安装19.png

浏览器访问:http://192.168.44.128:8080/:
Spark安装16.png


此处若在启动Spark前,已经事先将Hadoop、ZooKeeper、Hbase等启动完成,则8080端口会被ZooKeeper占用,这是由于ZooKeeper 3.5版本新特性决定的,此时Spark启动端口会被换成8081,查看Spark Master日志文件内容,可以看到该端口变换信息。
使用spark-shell命令,可以与Spark进行交互:
Spark安装20.png

浏览器访问:http://192.168.44.128:4040/jobs/,可以在Web页面找那个查看Job情况:
Spark安装21.png

至此Spark的安装配置完成。

你可能感兴趣的:(Spark的安装和配置)