spark集羣安裝

  1. 機器部署

準備兩臺以上的Linux服務器,我這裏準備了5臺服務器,集羣思路大致如下:其中Zookeper是可選項,

  1. 下載spark安裝包

  1. 配置spark

進入到Spark安裝目錄

cd /home/ws/bigdata/spark-2.3.3-bin-hadoop2.7/

進入conf目錄並重命名並修改spark-env.sh.template文件

cd conf/

mv spark-env.sh.template spark-env.sh

vi spark-env.sh

在該配置文件中添加如下配置
 

export JAVA_HOME=/usr/java/jdk1.8.0_111

#  注意,這裏如果寫的是主機名,一定要有主機名的IP地址的映射
export SPARK_MASTER_IP=node1

export SPARK_MASTER_PORT=7077

保存退出

重命名並修改slaves.template文件

mv slaves.template slaves

vi slaves

在該文件中添加子節點所在的位置(Worker節點)

node2
node3
node4
node5

 

保存退出

將配置好的Spark拷貝到其他節點上(其他節點照做)

scp -r spark-2.1.0-bin-hadoop2.6/ ws2@node2:/home/ws2/data

 

Spark集羣配置完畢,目前是1個Master,3個Work,在node1啓動Spark集羣

未安裝Hadoop建議只啓動master進程

/home/ws/bigdata/spark-2.3.3-bin-hadoop2.7/sbin/start-master.sh

在work結點啓動

/home/ws2/bigdata/spark-2.3.3-bin-hadoop2.7/sbin/start-slave.sh node1:7077

啓動後執行jps命令,主節點上有Master進程,其他子節點上有Work進行,登錄Spark管理界面查看集羣狀態(主節點):http://node1:8080/

注:此時只打開了一個work結點

到此爲止,Spark集羣安裝完畢,但是有一個很大的問題,那就是Master節點存在單點故障,要解決此問題,就要藉助zookeeper,並且啓動至少兩個Master節點來實現高可靠,配置方式比較簡單:

  1. 運行第一個程序

在spark安裝目錄下有一個example,內置了一個可以運行的程序,利用蒙特·卡羅算法求PI,執行下列語句,其中100是算法的參數

bin/spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.3.3.jar 100

運行結果

2019-05-26 10:19:36 INFO  DAGScheduler:54 - Job 0 finished: reduce at SparkPi.scala:38, took 7.568060 s
Pi is roughly 3.1417631141763116

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章