部署Spark 0.9集群
Spark 0.9
1 部署Spark集群
這種是運維人員在生產環境下,搭建起一個Spark集群。
(可選)創建新用戶 Spark
一般我傾向于把需要啟動daemon進程,對外提供服務的程序,即服務器類的程序,安裝在單獨的用戶下面。這樣可以做到隔離,運維方面,安全性也提高了。
創建一個新的group,
$ sudo groupadd spark
創建一個新的用戶,并加入group,
$ sudo useradd -g spark spark
給新用戶設置密碼,
$ sudo passwd spark
在每臺機器上創建 spark 新用戶,并配置好SSH無密碼,參考我的另一篇博客,SSH無密碼登錄的配置
假設有三臺機器,hostname分別是 master, worker01, worker02。
1.1 下載 Spark 預編譯好的二進制包
如果你需要用到HDFS,則要針對Hadoop 1.x 和Hadoop 2.x 選擇不同的版本。這里我選擇 Hadoop 2.x 版。
spark@master $ wget http://d3kbcqa49mib13.cloudfront.net/spark-0.9.0-incubating-bin-hadoop1.tgz spark@master $ tar zxf spark-0.9.0-incubating-bin-hadoop1.tgz -C ~/local/opt
1.2 將tgz壓縮包scp到所有機器,解壓到相同的路徑
spark@master $ scp spark-0.9.0-incubating-bin-hadoop1.tgz spark@worker01:~ spark@master $ ssh worker01 spark@worker01 $ tar zxf spark-0.9.0-incubating-bin-hadoop1.tgz -C ~/local/opt spark@worker01 $ exit spark@master $ scp spark-0.9.0-incubating-bin-hadoop1.tgz spark@worker02:~ spark@master $ ssh worker02 spark@worker02 $ tar zxf spark-0.9.0-incubating-bin-hadoop1.tgz -C ~/local/opt spark@worker02 $ exit
1.3 修改配置文件
Spark 0.9 以后,配置文件簡單多了,只有一個必須要配置,就是 conf/slaves
這個文件。在這個文件里添加slave的hostname。
1.4 拷貝配置文件到所有slave
spark@master $ spark@master $ scp ./conf/slaves spark@worker01:~/local/opt/spark-0.9.0-incubating-bin-hadoop1/conf spark@master $ spark@master $ scp ./conf/slaves spark@worker02:~/local/opt/spark-0.9.0-incubating-bin-hadoop1/conf
1.5 啟動Spark集群
spark@master $ ./sbin/start-all.sh
也可以一臺一臺啟動,先啟動 master
spark@master $ ./sbin/start-master.sh
啟動兩臺 slave,
spark@worker01 $ ./sbin/start-slave.sh 1 spark://master:7077 spark@worker02 $ ./sbin/start-slave.sh 2 spark://master:7077
其中,1
, 2
是 worker的編號,可以是任意數字,只要不重復即可,spark://master:7077
是 master 的地址。以后向集群提交作業的時候,也需要這個地址。
1.6 測試一下,向集群提交一個作業
spark@master $ ./bin/run-example org.apache.spark.examples.SparkPi spark://master:7077
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!