阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Spark-2.2.0安装和部署详解

174次阅读
没有评论

共计 3244 个字符,预计需要花费 9 分钟才能阅读完成。

前言

在安装后 Hadoop 之后,接下来需要安装的就是 Spark。

scala-2.11.7 下载与安装

具体步骤参见上一篇博文


Spark 下载

为了方便,我直接是进入到了 /usr/local 文件夹下面进行下载spark-2.2.0

wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz

Spark 安装之前的准备

文件的解压与改名

tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
rm -rf spark-2.2.0-bin-hadoop2.7.tgz

为了我后面方便配置spark,在这里我把文件夹的名字给改了

mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0

配置环境变量

vi /etc/profile

在最尾巴加入

export SPARK_HOME=/usr/local/spark-2.2.0

export PATH=$PATH:$SPARK_HOME/bin

Spark-2.2.0 安装和部署详解


配置 Spark 环境

打开 spark-2.2.0 文件夹

cd spark-2.2.0

此处需要配置的文件为两个
spark-env.shslaves

Spark-2.2.0 安装和部署详解

首先我们把缓存的文件 spark-env.sh.template 改为 spark 识别的文件spark-env.sh

cp conf/spark-env.sh.template conf /spark-env.sh

修改 spark-env.sh 文件

vi conf/spark-env.sh

在最尾巴加入

export JAVA_HOME=/usr/java/jdk1.8.0_141

export SCALA_HOME=/usr/scala-2.11.7

export HADOOP_HOME=/usr/local/hadoop-2.7.2

export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.2/etc/hadoop

export SPARK_MASTER_IP=SparkMaster

export SPARK_WORKER_MEMORY=4g

export SPARK_WORKER_CORES=2

export SPARK_WORKER_INSTANCES=1

变量说明

  • JAVA_HOME:Java 安装目录
  • SCALA_HOME:Scala 安装目录
  • HADOOP_HOME:hadoop 安装目录
  • HADOOP_CONF_DIR:hadoop 集群的配置文件的目录
  • SPARK_MASTER_IP:spark 集群的 Master 节点的 ip 地址
  • SPARK_WORKER_MEMORY:每个 worker 节点能够最大分配给 exectors 的内存大小
  • SPARK_WORKER_CORES:每个 worker 节点所占有的 CPU 核数目
  • SPARK_WORKER_INSTANCES:每台机器上开启的 worker 节点的数目

Spark-2.2.0 安装和部署详解

修改 slaves 文件

vi conf/slaves

在最后面修成为

SparkWorker1
SparkWorker2

Spark-2.2.0 安装和部署详解

同步 SparkWorker1SparkWorker2的配置

在此我们使用 rsync 命令

rsync -av /usr/local/spark-2.2.0/ SparkWorker1:/usr/local/spark-2.2.0/
rsync -av /usr/local/spark-2.2.0/ SparkWorker2:/usr/local/spark-2.2.0/

启动 Spark 集群

因为我们只需要使用 hadoopHDFS文件系统,所以我们并不用把 hadoop 全部功能都启动。

启动 hadoopHDFS文件系统

start-dfs.sh

但是在此会遇到一个情况,就是使用 start-dfs.sh,启动之后,在SparkMaster 已经启动了 namenode,但在SparkWorker1SparkWorker2都没有启动了 datanode,这里的原因是:datanodeclusterIDnamenodeclusterID不匹配。是因为 SparkMaster 多次使用了 hadoop namenode -format 格式化了。

== 解决的办法:==

SparkMaster 使用

cat /usr/local/hadoop-2.7.2/hdfs/name/current/VERSION

查看clusterID,并将其复制。

Spark-2.2.0 安装和部署详解

SparkWorker1SparkWorker2上使用

vi /usr/local/hadoop-2.7.2/hdfs/name/current/VERSION

将里面的clusterID,更改成为SparkMasterVERSION 里面的clusterID

Spark-2.2.0 安装和部署详解

做了以上两步之后,便可重新使用 start-dfs.sh 开启 HDFS 文件系统。

Spark-2.2.0 安装和部署详解

启动之后使用 jps 命令可以查看到 SparkMaster 已经启动了 namenodeSparkWorker1SparkWorker2都启动了 datanode,说明hadoopHDFS文件系统已经启动了。

Spark-2.2.0 安装和部署详解

Spark-2.2.0 安装和部署详解

Spark-2.2.0 安装和部署详解

启动Spark

因为 hadoop/sbin 以及 spark/sbin 均配置到了系统的环境中,它们同一个文件夹下存在同样的 start-all.sh 文件。最好是打开spark-2.2.0,在文件夹下面打开该文件。

./sbin/start-all.sh

Spark-2.2.0 安装和部署详解

成功打开之后使用 jpsSparkMasterparkWorker1SparkWorker2 节点上分别可以看到新开启的 MasterWorker进程。

Spark-2.2.0 安装和部署详解

Spark-2.2.0 安装和部署详解

Spark-2.2.0 安装和部署详解

成功打开 Spark 集群之后可以进入 SparkWebUI界面,可以通过

SparkMaster_IP:8080

访问,可见有两个正在运行的 Worker 节点。

Spark-2.2.0 安装和部署详解

打开Spark-shell

使用

spark-shell

Spark-2.2.0 安装和部署详解

便可打开 Sparkshell

同时,因为 shell 在运行,我们也可以通过

SparkMaster_IP:4040

访问 WebUI 查看当前执行的任务。

Spark-2.2.0 安装和部署详解


结言

到此我们的 Spark 集群就搭建完毕了。搭建 spark 集群原来知识网络是挺庞大的,涉及到 Linux 基本操作,设计到 ssh,设计到 hadoop、Scala 以及真正的 Spark。在此也遇到不少问题,通过翻阅书籍以及查看别人的 blog 得到了解决。在此感谢分享知识的人。

更多 Spark 相关教程见以下内容

CentOS 7.0 下安装并配置 Spark  http://www.linuxidc.com/Linux/2015-08/122284.htm

Spark1.0.0 部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htm

Spark2.0 安装配置文档  http://www.linuxidc.com/Linux/2016-09/135352.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

Spark 官方文档 – 中文翻译  http://www.linuxidc.com/Linux/2016-04/130621.htm

CentOS 6.2(64 位)下安装 Spark0.8.0 详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htm

Spark2.0.2 Hadoop2.6.4 全分布式配置详解 http://www.linuxidc.com/Linux/2016-11/137367.htm

Ubuntu 14.04 LTS 安装 Spark 1.6.0(伪分布式)http://www.linuxidc.com/Linux/2016-03/129068.htm

Spark 的详细介绍:请点这里
Spark 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146215.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3244字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中