Hadoop2.6.0上的spark1.5.2集群搭建

yvdyyn805 8年前發布 | 45K 次閱讀 分布式/云計算/大數據

來自: http://my.oschina.net/amui/blog/610329


一、Spark安裝前提

安裝Spark之前需要先安裝Hadoop集群,因為之前已經安裝了hadoop,所以我直接在之前的hadoop集群上安裝spark,但是因為機器內存不夠,我只選擇master以及slave01安裝spark集群,而不要slave02了。

hadoop集群的安裝參考之前的博文:http://my.oschina.net/amui/blog/610288

二、Spark安裝步驟:

1.下載scala-2.11.7.tgz

    http://www.scala-lang.org/download/2.11.7.html

2.下載spark-1.5.2-bin-hadoop2.6.tgz(之前安裝的hadoop是2.6.0的)

    http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz

3.安裝Scala(在master上):

    mkdir /application/scala

    cp /root/scala-2.11.7.tgz /application/scala/

    cd /application/scala/

    tar -zxvf scala-2.11.7.tgz

          創建軟鏈接:

    ln -s /application/scala/scala-2.11.7 /application/scala/scala 

    修改環境變量,添加SCALA_HOME,并修改PATH即可:

vi /etc/profile.d/java.sh

export SCALA_HOME=/application/scala/scala-2.11.7

export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$PATH 

    使配置立即生效:

source /etc/profile 

    驗證是否安裝成功

scala –version

    顯示如下:

4./application/scalamaster復制到另外一臺機器slave01上。

      scp -r /application/scala root@slave01:/application/

5./etc/profile.d/java.sh 也復制到slave01上。

再在slave01上進行以下命令操作,使配置生效:

source /etc/profile

6.安裝Spark(在master上):

    mkdir /application/spark

    cp /root/spark-1.5.2-bin-hadoop2.6.tgz /application/spark/

    tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz

    修改環境變量:將SPARK_HOME添加進去,并修改PATH即可。

vi /etc/profile.d/java.sh

export SPARK_HOME=/application/spark/spark-1.5.2-bin-hadoop2.6

export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH

    是配置立即生效:

source /etc/profile

7.修改配置文件

7.1修改spark-env.sh配置文件:

cd /application/spark/spark-1.5.2-bin-hadoop2.6/conf

cp spark-env.sh.template spark-env.sh

vi spark-env.sh

在后面追加

###jdk dir

export JAVA_HOME=/usr/local/jdk

scala dir

export SCALA_HOME=/application/scala/scala

the ip of master node of spark

export SPARK_MASTER_IP=192.168.10.1

the max memory size of worker

export SPARK_WORKER_MEMORY=512m

hadoop configuration file dir

export HADOOP_CONF_DIR=/application/hadoop/hadoop/etc/hadoop</pre>



 

7.2修改slaves文件

cp slaves.template slaves

vi slaves

添加如下(可能有默認localhost,將其改成master):

master

slave01

8./application/spark以及環境變量的配置文件復制到slave01,并通過source命令將文件立即生效

    scp -r /application/spark root@slave01:/application/

    scp -r /etc/profile.d/java.sh root@slave01:/etc/profile.d/java.sh

    修改所屬組和用戶

    chown -R hadoop:hadoop /application/spark

      9.到此Spark集群搭建完畢。

     10.啟動Spark集群:

    啟動Spark之前需要先將hadoopdfs以及yarn啟動。

    /application/spark/spark-1.5.2-bin-hadoop2.6/sbin/start-all.sh

    啟動所有服務之后,在命令行輸入jps,顯示如下:

        

    比hadoop集群啟動時多了Masterworker

    輸入如下命令

    /application/spark/spark-1.5.2-bin-hadoop2.6/bin/spark-shell.sh

    出現scala>時說明成功。

    在瀏覽器中輸入192.168.10.1:8080時,會看到如下圖,有兩個Worker


在瀏覽器中輸入192.168.10.1:4040

出現如圖:


 

三、運行實例wordcount實例:

scala>var textcount=sc.textFile("hdfs://master:9000/data/words2").filter(line=>line.contains("haha")).count()

顯示結果如下:


四、總結:

安裝spark比較容易,沒有hadoop復雜,我在安裝spark的過程中,在啟動的時候,啟動不起來,特別慢,半天啟不了,后來就感覺是虛擬機內存分配過低,==  因為我在spark的配置中只給了256m,后來將虛擬機的內存調至1024m,并將spark配置文件中SPARK_WORKER_MEMORY的字段分配512mspark才能正常啟動。

        在啟動的過程中,也出現一個問題,就是jdk版本的問題,我之前安裝hadoop的時候用的是jdk1.6版本,導致在spark啟動時出現錯誤,spark1.5是不兼容jdk1.6的,必須是jdk1.7以上,所以在之后只能重新將jdk刪了重新安裝jdk1.8版本了。

 本文由用戶 yvdyyn805 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!