前面已经成功的搭建了Zookeeper和Hadoop集群,接下来让我们更进一步,实现Spark集群的搭建吧。相比较而言,Spark集群的搭建要简单的许多了,关键是Hadoop已经搭建成功了。此次是基于上次的Hadoop,因为Spark是依赖于Hadoop提供的分布式文件系统的。好了,让我们扬帆起航吧!
一、环境:虚拟机CentOs7系统,完整的环境,请确认已安装JDK、Hadoop及Spark安装包,节点仍然使用上次克隆的两个,下面先进行其中一个的环境搭建。
二、Spark配置(解压啥的不说了)
配置前说下几个关键词:Master、Worker,了解一下。
(1)配置环境变量
vim /etc/profile
修改如下:
JAVA_HOME=/usr/java/jdk1.8.0_161JRE_HOME=/usr/java/jdk1.8.0_161/jreSCALA_HOME=/usr/local/scalaHADOOP_HOME=/usr/local/hadoopSPARK_HOME=/usr/local/sparkZOOKEEPER_HOME=/usr/local/zookeeperKAFKA_HOME=/usr/local/kafkaPATH=$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/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME SCALA_HOME HADOOP_HOME SPARK_HOME ZOOKEEPER_HOME KAFKA_HOME PATH CLASSPATH
修改完成后,记得运行命令source使之生效,将其拷贝到另外两个服务器上并进行相同操作,切记。
(2)配置conf目录下的文件
首先配置spark-env.sh文件,复制一份并改名:
cp spark-env.sh.template spark-env.sh
编辑文件,添加配置(根据自己需要):
#!/usr/bin/env bashexport SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)export JAVA_HOME=/usr/java/jdk1.8.0_161export SCALA_HOME=/usr/local/scalaexport HADOOP_HOME=/usr/local/hadoopexport HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoopexport SPARK_HOME=/usr/local/spark
然后配置slaves文件,复制一份并改名:
cp slaves.template slaves
编辑文件,并配置(只加入datanode节点的服务器名):
slave02slave03
(3)启动和测试Spark集群
因为Spark是依赖于Hadoop提供的分布式文件系统的,所以在启动Spark之前,先确保Hadoop在正常运行。之前已经成功搭建了Hadoop集群,所以这里直接启动即可:
#hadoop的/sbin目录下./start-all.sh
启动后,执行jps查看是否正常启动
(此处可参考:)
接下来启动Spark:
#Spark /sbin目录下./start-all.sh
启动后,执行jps查看是否正常启动,如下:
[hadoop@slave01 sbin]$ jps42657 Master42004 SecondaryNameNode42741 Jps42182 ResourceManager41768 NameNode
在slave02和slave03上执行jps,如下:
[hadoop@slave02 conf]$ jps15685 Worker15238 DataNode15756 Jps15388 NodeManager
从上面可以看出,已经成功启动了Spark,在浏览器里访问Master机器,即slave01,访问http://slave01:8080:
好了,关于大数据的三个集群的搭建已经全部完成了,如果大家有什么疑问,欢迎一起讨论。