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的安装配置完成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要:大数据门槛较高,仅仅环境的搭建可能就要耗费我们大量的精力,本文总结了作者是如何搭建大数据环境的(单机版和集群...
    杨赟快跑阅读 15,070评论 3 65
  • --------"道路是曲折的,前途是光明的。"最近又涉及到了hadoop以及spark的安装,之前课题设计中有要...
    九七学姐阅读 3,084评论 3 5
  • Scala语法 至于scala语法而言,大致上和Java的语法类似,增加了一些函数式编程,具体语法可以参考Scal...
    卡卡xx阅读 2,895评论 0 1
  • 每天日更,会消除我的焦虑和孤独感吗?跟他见面确实是把达利摩斯剑,说不定什么时候他的观点就可以让我自卑乃至无地自容,...
    谷气质阅读 161评论 0 0
  • 这是一条没有同伴的路 它注定孤单 追逐着梦的少年 不要害怕孤单 至少你还有 这遍地的月光陪伴
    南边的鲸阅读 168评论 0 0