前面已經成功的搭建了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:
好了,關於大數據的三個集羣的搭建已經所有完成了,若是你們有什麼疑問,歡迎一塊兒討論。