Spark2.0 HA安装(spark on yarn 模式)完整版——Spark2.3.2

版权声明:未经博主同意不得转载,请尊重知识敬畏技术 https://blog.csdn.net/weixin_42003671/article/details/86310893

@羲凡——只为了更好的活着

Spark2.0 HA安装(spark on yarn 模式)——Spark2.3.2

spark主要有四种运行模式local(本地运行)、standalone(Spark自带的资源管理框架)、yarn(将spark应用类似mr一样,提交到yarn上运行)、mesos(类似yarn的一种资源管理框架),其对应的安装方法各不相同,本文主要介绍spark on yarn的安装。前提是默认你已经安装了hadoop HA,版本2.6.5以上(博主使用2.7.3)。spark2.0的版本安装都与此类似,此文中选择Spark2.3.2作为示范!

一、下载对应的安装包

1.下载scala

官网要求scala使用2.11的版本 For the Scala API, Spark 2.3.2 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x)。博主使用的是scala 2.11.12版本

下载地址如下:
https://www.scala-lang.org/download/2.11.12.html
翻到下面(如下图),选择第一个下载
在这里插入图片描述

2.下载spark

下载地址如下:
http://spark.apache.org/downloads.html
Choose a Spark release 中选择自己的版本2.3.2
Choose a package type 中选择2.7 and later
点击 Download Spark 后面的tgz文件下载即可
在这里插入图片描述

二、安装

1.安装scala

a.解压到当前目录下(在 /usr/local/package 目录下安装scala)

tar -zxf scala-2.11.12.tgz -C ./

b.进入/etc/profile目录添加 SCALA_HOME,重新加载/etc/profile文件

sudo vi /etc/profile
	#SCALA_HOME
	export SCALA_HOME=/usr/local/package/scala-2.11.12
	export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile //重新加载/etc/profile文件

c.检验scala是否安装成功

scala -version //在任何目录下输入

如果出现 Scala code runner version 2.11.12 – Copyright 2002-2017, LAMP/EPFL,表示 scala 安装成功

2.安装spark

a.解压到当前目录下(在 /usr/local/package 目录下安装scala)

tar -zxf spark-2.3.2-bin-hadoop2.7.tgz -C ./

b.进入/etc/profile目录添加 SPARK_HOME,并重新加载/etc/profile文件

sudo vi /etc/profile
	#SPARK_HOME
	export SPARK_HOME=/usr/local/package/spark-2.3.2-bin-hadoop2.7
	export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
source /etc/profile //重新加载/etc/profile文件

c.进入$SPARK_HOME/conf,修改配置文件

cd $SPARK_HOME/conf
//重命两个文件
mv spark-env.sh.template spark-env.sh 
mv spark-defaults.conf.template spark-defaults.conf
//vi 进入spark-env.sh 在文件最下方添加如下内容
JAVA_HOME=/usr/local/package/jdk1.8.0_131
SCALA_HOME=/usr/local/package/scala-2.11.12
HADOOP_CONF_DIR=/usr/local/package/hadoop-2.7.3/etc/hadoop
HADOOP_HOME=/usr/local/package/hadoop-2.7.3
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=TS-DEP61:2181,TS-DEP62:2181,TS-DEP63:2181,TS-DEP64:2181,TS-DEP65:2181 -Dspark.deploy.zookeeper.dir=/spark"
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=/spark/history -Dspark.history.ui.port=18080"
//vi 进入spark-defaults.conf 在文件最下方添加如下内容
spark.eventLog.enabled           true
spark.eventLog.dir               /spark/history 
spark.yarn.historyServer.address        http://TS-DEP60:18080

上面参数的地址最好提前创建好,至少创建 /spark 目录

hdfs dfs -mkdir /spark //在任何目录下输入

解释说明
spark.deploy.zookeeper.url参数是你的zk集群信息
spark.deploy.zookeeper.dir参数是zk记录spark的地址
spark.history.fs.logDirectory参数是spark历史任务记录的存放路径
spark.history.ui.port参数是查看spark历史任务记录的web端口

d.检验spark-shell是否安装成功

spark-shell //在任何目录下输入

如果出现如下截图,则表示spark-shell安装成功
在这里插入图片描述
e.如果要运行spark-sql 这需要将hive的配置文件 hive-site.xml 拷贝到$SPARK_HOME的conf目录下。

spark-sql //在任何目录下输入

如果出现如下截图,则表示spark-sql安装成功
在这里插入图片描述

三、分发和启动

1.分发

将配置好的spark-2.3.2-bin-hadoop2.7安装包scp到每台datanode机器,设置spark.yarn.historyServer.address的那一台机器上(博主在TS-DEP60上设置)必须要有此安装包

scp -r spark-2.3.2-bin-hadoop2.7 TS-DEP60:/usr/local/package/

2.启动

a.启动前先检查hadoop中 yarn-site.xml 的配置中是否设置了 yarn.log-aggregation-enableyarn.log.server.url 。如果没有,请添加下面两个配置

<property>
	<name>yarn.log-aggregation-enable</name>
	<value>true</value>
</property>
<property>
	<name>yarn.log.server.url</name>
	<value>http://TS-DEP60:19888/jobhistory/logs</value>
</property>

b.在TS-DEP60机器上配置好SPARK_HOME后,在任意目录下输入如下命令,启动spark历史服务

start-history-server.sh

总结重点

1.配置spark HA 必须设置好zk集群的相关设置spark.deploy.zookeeper.urlspark.deploy.zookeeper.dir
2.必须开启在设置spark.yarn.historyServer.address 的机器上开启Spark Job History服务
3.为了配置sparksql需要将hive 的hive-site.xml文件拷贝到 $SPARK_HOME/conf 目录下

若对博客中有任何问题,欢迎留言交流

恭喜您已经完成spark on yarn 的HA模式的安装
恭喜您已经完成spark on yarn 的HA模式的安装
恭喜您已经完成spark on yarn 的HA模式的安装

@羲凡——只为了更好的活着

猜你喜欢

转载自blog.csdn.net/weixin_42003671/article/details/86310893