Spark使用了Hadoop的HDFS作为持久化存储层,因此安装Spark时,应先安装与Spark版本相对应的Hadoop。Spark计算框架以Scala语言开发,因此部署Spark首先需要安装Scala及JDK。
Hadoop集群参考: ubuntu16+Hadoop2.7.3环境搭建(伪分布式),改为分布式集群
JDK版本:1.8.0
Scala版本:scala-2.13.0-M1
spark版本:2.2.0(目前最新版本)
由于本机Hadoop集群搭建完成,所以这里不再赘述Hadoop集群。本机hadoop集群 (一主两被) :
master:hadoopm
slave:hadoop_s1
slave:hadoop_s2
由上面给出的链接下载最新版scala。先在主机master(hadoopm)中安装。
在下载目录下执行:
tar zxvf scala-2.13.0-M1.tgz -C /urs/local
cd /etc/profile
末尾加入:
export SCALA_HOME=/usr/local/scala-2.13.0-M1
export PATH=${SCALA_HOMA}/bin:$PATH
在上面的链接中下载最新版的spark。先在主机master(hadoopm)中安装。
tar zxvf spark-2.2.0 -C /urs/local
打开 /etc/profile
1)末尾加入:
export SPARK_HOME=/usr/local/spark-2.2.0/spark-2.2.0-bin-hadoop2.7/
export PATH=$PATH:${SPARK_HOME}/bin
关闭并保持,执行命令
source /etc/profile
使更改后的配置生效。
2)打开 /etc/hosts,加入集群中Master及各个Worker节点的ip与hostname配对(这一步配置Hadoop集群时也会配置,如果已经配置好,则跳过)
3)进入 /usr/local/spark-2.2.0/spark-2.2.0-bin-hadoop2.7/conf,执行如下命令:
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
末尾加入:
export SPARK_MASTER_IP="192.168.42.130"
export SCALA_HOME=/usr/local/scala-2.13.0-M1
export SPARK_WORKER_MEMORY=1g
export JAVA_HOME=/usr/local/jdk
ip地址为master主机所在地址,使用ipconfig可查看。本文为Hadoopm机器ip地址。
保存并退出,执行:
cp slaves.template slaves
vim slaves
在其中加入worker节点的hostname(这里总共三台机器hadoopm、hadoop_s1、hadoop_s2):
hadoop_s1
hadoop_s2
这里Hadoop集群已布置好,不再进行复制。执行如下命令:
// 复制scala到集群其他集群
scp -r /usr/local/scala-2.13.0-M1/ root@hadoop_s1:/usr/local/
scp -r /usr/local/scala-2.13.0-M1/ root@hadoop_s2:/usr/local/
// 复制spark到集群其他集群
scp -r /usr/local/spark-2.2.0/ root@hadoop_s2:/usr/local/
scp -r /usr/local/spark-2.2.0/ root@hadoop_s1:/usr/local/
// 复制/etc/profile配置到集群其他集群
scp -r /etc/profile root@hadoop_s1:/etc/profile
scp -r /etc/profile root@hadoop_s2:/etc/profile
// 在被复制的集群集群上执行如下语句,使配置文件生效
source /etc/profile
1)在Master主机(本文为hadoopm)上,分别运行Hadoop、spark。
cd /usr/local/hadoop/sbin
./start-all.sh
cd /usr/local/spark-2.2.0/spark-2.2.0-bin-hadoop2.7/sbin
./start-all.sh
2)查看各个节点的启动情况,jps命令查看
3)通过Spark Web UI 查看集群状态
在浏览器输入Master的IP与端口号:
至此,spark集群配置完成。
《循序渐进学spark》