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,可以看