前面已经成功的搭建了Zookeeper和Hadoop集群,接下来让咱们更进一步,实现Spark集群的搭建吧。相比较而言,Spark集群的搭建要简单的许多了,关键是Hadoop已经搭建成功了。这次是基于上次的Hadoop,由于Spark是依赖于Hadoop提供的分布式文件系统的。好了,让咱们扬帆起航吧!java
1、环境:虚拟机CentOs7系统,完整的环境,请确认已安装JDK、Hadoop及Spark安装包,节点仍然使用上次克隆的两个,下面先进行其中一个的环境搭建。node
2、Spark配置(解压啥的不说了)vim
配置前说下几个关键词:Master、Worker,了解一下。浏览器
(1)配置环境变量bash
vim /etc/profile
修改以下:服务器
JAVA_HOME=/usr/java/jdk1.8.0_161 JRE_HOME=/usr/java/jdk1.8.0_161/jre SCALA_HOME=/usr/local/scala HADOOP_HOME=/usr/local/hadoop SPARK_HOME=/usr/local/spark ZOOKEEPER_HOME=/usr/local/zookeeper KAFKA_HOME=/usr/local/kafka PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME SCALA_HOME HADOOP_HOME SPARK_HOME ZOOKEEPER_HOME KAFKA_HOME PATH CLASSPATH
修改完成后,记得运行命令source使之生效,将其拷贝到另外两个服务器上并进行相同操做,切记。分布式
(2)配置conf目录下的文件oop
首先配置spark-env.sh文件,复制一份并更名:测试
cp spark-env.sh.template spark-env.sh
编辑文件,添加配置(根据本身须要):大数据
#!/usr/bin/env bash export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath) export JAVA_HOME=/usr/java/jdk1.8.0_161 export SCALA_HOME=/usr/local/scala export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop export SPARK_HOME=/usr/local/spark
而后配置slaves文件,复制一份并更名:
cp slaves.template slaves
编辑文件,并配置(只加入datanode节点的服务器名):
slave02 slave03
(3)启动和测试Spark集群
由于Spark是依赖于Hadoop提供的分布式文件系统的,因此在启动Spark以前,先确保Hadoop在正常运行。以前已经成功搭建了Hadoop集群,因此这里直接启动便可:
#hadoop的/sbin目录下 ./start-all.sh
启动后,执行jps查看是否正常启动
(此处可参考:http://www.javashuo.com/article/p-njlbzsqh-kg.html)
接下来启动Spark:
#Spark /sbin目录下 ./start-all.sh
启动后,执行jps查看是否正常启动,以下:
[hadoop@slave01 sbin]$ jps 42657 Master 42004 SecondaryNameNode 42741 Jps 42182 ResourceManager 41768 NameNode
在slave02和slave03上执行jps,以下:
[hadoop@slave02 conf]$ jps 15685 Worker 15238 DataNode 15756 Jps 15388 NodeManager
从上面能够看出,已经成功启动了Spark,在浏览器里访问Master机器,即slave01,访问http://slave01:8080:
好了,关于大数据的三个集群的搭建已经所有完成了,若是你们有什么疑问,欢迎一块儿讨论。