SPARK 完全分布式搭建实战

Apache Spark™是用于大规模数据处理的统一分析引擎,是内存计算版的Hadoop。这里介绍的是SPARK完全分布式集群的搭建方式。

实验环境:

  • Centos 7主机三台
主机名 IP地址
Master 10.30.59.130
Slave1 10.30.59.131
Slave2 10.30.59.132

软件要求:

软件名称 软件版本
JDK 8u77
Zookeeper 3.4.5
Hadoop 2.6.0
Scala 2.11.12
Spark 2.0.0-hadoop2.6
  • 软件约定:
    • 安装包在 /opt/soft
    • 安装目录在 /opt

先决条件:

  • 各个主机已完成 主机名-IP 映射
  • 各个主机已完成ssh免密登录
  • ZooKeeper已部署完毕并启动
  • Hadoop已部署完毕并启动
    • 可选单节点/伪分布式/全分布式/HA任意一种
    • 这里使用HA搭建

实验步骤:

安装Scala

一、解压组件

1
2
3
[root@master ~]# cd /opt 
[root@master opt]# tar -xzvf soft/scala-2.11.12.tgz
[root@master opt]# mv scala-2.11.12/ scala

二、配置环境变量并令其立即生效

  • hadoop-etc.sh文件新增两条
1
2
3
4
5
[root@master opt]# vi /etc/profile.d/hadoop-etc.sh
export SCALA_HOME=/opt/scala
export PATH=$PATH:$SCALA_HOME/bin

[root@master opt]# source /etc/profile.d/hadoop-etc.sh

安装SPARK

一、解压组件

1
2
[root@master opt]# tar -xzvf soft/spark-2.0.0-bin-hadoop2.6.tgz 
[root@master opt]# mv spark-2.0.0-bin-hadoop2.6/ spark

二、填写配置文件

1
2
[root@master opt]# cp spark/conf/spark-env.sh.template spark/conf/spark-env.sh
[root@master opt]# vi spark/conf/spark-env.sh
1
2
3
HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_IP=master

注意:最后一行SPARK_LOCAL_IP在文件使用scp同步后需要根据实际的主机名填写

1
2
[root@master opt]# cp spark/conf/slaves.template spark/conf/slaves
[root@master opt]# vi spark/conf/slaves
1
2
3
master
slave1
slave2

三、修改冲突文件名

1
2
[root@master opt]# mv spark/sbin/start-all.sh spark/sbin/start-spark-all.sh
[root@master opt]# mv spark/sbin/stop-all.sh spark/sbin/stop-spark-all.sh

四、配置环境变量并令其立即生效

  • hadoop-etc.sh文件新增两条
1
2
3
4
5
[root@master opt]# vi /etc/profile.d/hadoop-etc.sh
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

[root@master opt]# source /etc/profile.d/hadoop-etc.sh

五、同步两台slave节点的配置并令其环境变量立即生效

1
2
3
4
5
6
[root@master opt]# scp -r scala slave1:/opt 
[root@master opt]# scp -r scala slave2:/opt
[root@master opt]# scp -r spark slave1:/opt
[root@master opt]# scp -r spark slave2:/opt
[root@master opt]# scp /etc/profile.d/hadoop-etc.sh slave1:/etc/profile.d
[root@master opt]# scp /etc/profile.d/hadoop-etc.sh slave2:/etc/profile.d
  • 在slave节点上令其环境变量立即生效,同时修改spark-env.sh文件
1
2
[root@slave1 ~]# source /etc/profile.d/hadoop-etc.sh
[root@slave1 ~]# vi /opt/spark/conf/spark-env.sh
1
2
[root@slave2 ~]# source /etc/profile.d/hadoop-etc.sh
[root@slave2 ~]# vi /opt/spark/conf/spark-env.sh

六、启动SPARK

1
[root@master opt]# start-spark-all.sh 

实验验证

访问以下页面,均有正常显示即可

SPARK显示三个Worker