在hadoop集群安装配置实现的情况下配置spark集群的方法:
| 系数 | 机器名 | IP地址 | hdfs角色 | spark角色 |
| 1 | x-88 | x.x.104.88 | dn | wk |
| 2 | x-89 | x.x.104.89 | dn | wk |
| 3 | x-90 | x.x.104.90 | nn | mt |
| 4 | x-91 | x.x.104.91 | dn | wk |
| 5 | x-92 | 1x.x.104.92 | dn | wk |
| 6 | x-93 | x.x.104.93 | c |
安装包下载
Spark安装包的下载地址为:
http://spark.apache.org/downloads.html
图2-1 Spark安装包下载页面
如图2-1所示,读者可以在交互界面上选择不同的安装包,安装包spark-2.4.7-bin-hadoop2.7.tgz对应的Spark版本为2.4.7,Hadoop版本为2.7。
本文相关安装包采用的是:JDK 1.8.0_181,Scala 2.11.12,Spark 2.4.0,Hadoop 2.7.7。
- 安装包目录:
/home/KYJ/soft/spark-3.1.1-bin-hadoop2.7.tgz
/home/KYJ/soft/scala-2.12.11.tgz
- 在soft文件目录下解压安装包:
使用命令:
tar -zxvf spark-3.1.1-bin-hadoop2.7.tgz
tar -zxvf scala-2.12.11.tgz
- 环境变量配置
(1)、在/home/KYJ目录下
vi .bashrc
增加以下内容:
#SPARK
export SPARK_HOME=/home/KYJ/soft/spark-3.1.1-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH
#SCALA
export SCALA_HOME=/home/KYJ/soft/scala-2.12.11
export PATH=${SCALA_HOME}/bin:$PATH
- 、配置文件/home/KYJ/soft/spark-3.1.1-bin-hadoop2.7/conf/spark-env.sh
vi spark-env.sh
增加以下内容:
export JAVA_HOME=/home/KYJ/soft/jdk1.8.0_271
export SCALA_HOME=/home/KYJ/soft/scala-2.12.11
export SPARK_WORKER_MEMORY=30G
export SPARK_WORKER_CORES=16
export SPARK_WORKER_INSTANCES=1
export SPARK_MASTER_IP=x.x.104.90
export SPARK_DIST_CLASSPATH=$/home/KYJ/soft/hadoop-2.7.6/bin/hadoop
export HADOOP_CONF_DIR=/home/KYJ/soft/hadoop-2.7.6/etc/hadoop/
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 "
- 配置文件:/home/KYJ/soft/spark-3.1.1-bin-hadoop2.7/conf/workers
vi workers
增加以下内容:
x.x.104.88
x.x.104.89
x.x.104.91
x.x.104.92
- 配置文件远程拷贝:
为了使Spark集群中的每个计算任务能够直接访问HDFS,还需要将$HADOOP_HOME/etc/hadoop中的配置文件hdfs-site.xml和core-site.xml拷贝到$SPARK_HOME/conf目录下。
将配置好的文档,以及scala和spark 远程拷贝到其他节点:
scp .bashrc KYJ@x.x.104.88:/home/KYJ
scp -r spark-3.1.1-bin-hadoop2.7 KYJ@x.x.104.88:/home/KYJ/soft
scp -r scala-2.12.11 KYJ@x.x.104.88:/home/KYJ/soft
- 在启动Spark集群前,请先启动HDFS集群,
$HADOOP_HOME/sbin/start-all.sh
在主节点执行以下两个脚本:
$SPARK_HOME/sbin/start-master.sh
$SPARK_HOME/sbin/start-slaves.sh
- 查看监控界面:在浏览器中输入:x.x.104.90:8080
- 停止集群:
在主节点执行以下两个脚本:
$SPARK_HOME/sbin/stop-slaves.sh
$SPARK_HOME/sbin/stop-master.sh



