1. 程式人生 > >阿里雲實現Hadoop+Spark叢集

阿里雲實現Hadoop+Spark叢集

前兩篇我已經介紹瞭如何在伺服器上搭建Hadoop環境已經Hadoop叢集,接下來我將介紹一下如何在Hadoop上搭建Spark叢集。(如果你還沒看過我前兩篇blog,那麼這篇你也可以看,不過還是建議先閱讀一下前兩篇bolg:手把手教你如何使用阿里雲搭建Hadoop環境阿里雲搭建Hadoop叢集)。

準本工作

還是在之前的master節點和worker節點中進行搭建。

第一步下載Spark並解壓到software目錄中

wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz 

tar zxvf spark-2.2
.0-bin-hadoop2.7.tg software/

第二步配置scala環境,因為後面準備用scala進行開發

下載scala
wget https://downloads.lightbend.com/scala/2.12.3/scala-2.12.3.tgz

解壓scala壓縮包到software
 tar zxvf scala-2.12.3.tgz software/

第三步配置/etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/root/software/hadoop-2.8
.1 export SCALA_HOME=/root/software/scala-2.12.3 export SPARK_HOME=/root/software/spark-2.2.0-bin-hadoop2.7 export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH
立即生效:source /etc/profile

第四步配置spark/conf/slaves

1. cp slaves.template slaves
2. 
vim slaves 新增worker worker1

第五步配置spark/conf/spark-env.sh檔案

1. cp spark-env.sh.template spark-env.sh
2. vim spark-env.sh 新增如下內容

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export SCALA_HOME=/root/software/scala-2.12.3
export HADOOP_HOME=/root/software/hadoop-2.8.1
export SPARK_DIST_CLASSPATH=$(/root/software/hadoop-2.8.1/bin/hadoop classpath)
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_IP=master

至此master中的Spark環境久搭建好了,下面我們來開啟Spark。

進入到Spark中的sbin目錄下,執行start-all.sh開啟Spark

 cd /root/software/spark-2.2.0-bin-hadoop2.7/sbin
 ./start-all.sh 這條命令相當於先執行./start-master.sh,在執行./start-slaves.sh

此時能在master中使用jps看到下圖,Master已經開啟了:
這裡寫圖片描述

在worker中使用jps應該能看到worker已經開啟了,如下圖:
這裡寫圖片描述

看到上面兩個圖,表示你的Spark叢集已經搭建好了,接下來告訴大家如何檢視Spark的Web控制檯。很多網上的教程都會在最後在瀏覽器中輸入http://master:4040
開啟Spark的Web控制器,粘一張Spark Web頁面的圖,但是隻通過上面的步驟,是不能開啟的Web控制的頁面。正確的姿勢如下:

cd /root/software/spark-2.2.0-bin-hadoop2.7/bin
./spark-shell.sh
之後才能在瀏覽器中輸入http://master:4040 才能看到如下的Web控制頁面

這裡寫圖片描述

為什麼之前看不到呢?那是因為web控制器只在Spark提交job的時候才會顯示,使用./spark-shell.sh進入到Spark提交job的狀態,如下:
這裡寫圖片描述

哈哈,接下來,大家就可以愉快的玩耍Spark叢集了。。。。。。