1. 程式人生 > >Spark叢集安裝方式2

Spark叢集安裝方式2

    環境: jdk1.8、hadoop-2.7、spark-1.6、三臺centos7(如下List-1所示)

    List-1 如下30上部署master;31上部署worker1;32上部署worker2

192.168.33.30 master
192.168.33.31 worker1
192.168.33.32 worker2

    將jdk1.8、hadoop-2.7、spark-1.6資料夾放到三臺機器的/opt下

    修改spark的conf下的spark-env.sh檔案(如果不存在,則cp  spark-env.sh.template   spark-env.sh),修改為如下List-2,這個修改三臺機器上都要做:

    List-2

export JAVA_HOME=/opt/jdk1.8
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.7/bin/hadoop classpath);

    為什麼List-2中需要將hadoop的classpath加入到其中,是因為spark自1.4之後,編譯都是沒有將hadoop的classpath編譯進去的,所以必須在spark-env.sh中指定hadoop中的所有jar包。

    在master機器上,spark安裝目錄,執行如下,之後在控制檯就會打印出一些日誌,從日誌中可以看到master url和MasterWebUI

    List-3

/bin/spark-class org.apache.spark.deploy.master.Master

    在worker1/worker2,spark安裝目錄,執行如下,之後看MasterWebUI就會看到worker加入進去了

    List-4

/bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.33.30:7077

    到此我們的叢集啟動完成了。

    接下來介紹另一種啟動方式:

    在master的spark安裝目錄下,執行如下,檢視日誌/opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out,可以看到master url和masterWebUrl:

    List-5

[root@master spark-mjduan]# sbin/start-master.sh 
starting org.apache.spark.deploy.master.Master, logging to /opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out

    在workerr1/worker2上,spark安裝目錄,執行如下:

    List-6

[root@node2 spark-mjduan]# sbin/start-slave.sh spark://192.168.33.30:7077
starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-node2.out

       之後看masterWebUrl,可以看