Spark 独立部署模式
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
Spark 獨立部署模式 博客分類: spark ?| 除了在 Mesos 或 YARN 集群上運行之外, Spark 還提供一個簡單的獨立部署的模塊。你通過手動開始master和workers 來啟動一個獨立的集群。你也可以利用我們提供的腳本?.它也可以運行這些進程在單個機器上進行測試。 安裝 Spark 獨立集群部署Spark最簡單的方法就是運行./make-distribution.sh 腳本來創(chuàng)建一個2進制發(fā)行版.這個版本能部署在任意運行這java的機子上,不需要安裝 Scala. 建議的步棸是先在一個節(jié)點部署并啟動master,獲得 master spark URL,在dist/這個目錄下修改conf/spark-env.sh然后再部署到其他的節(jié)點上。 |
手動啟動集群通過如下命令啟動單獨模式的master服務(wù): ./bin/start-master.sh一旦啟動,master就會輸出spark://IP:PORT以提示連接 workers 的方式。也可以通過參數(shù)“master”給SparkContext來連接集群的作業(yè).你可以在master的web管理界面上看到這樣的地址,默認是http://localhost:8080. 同樣,你可以啟動一個或者多個worker,通過下面的語句使之和master建立連接: ./spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT啟動一個worker后,查看 master的 web管理界面 (默認http://localhost:8080),上面列出了新近加入的節(jié)點的CPU和內(nèi)存的信息。(不包括給操作系統(tǒng)預留的內(nèi)存空間)。 最后,以下?master 和 worker的一些配置選項:
|
集群啟動腳本通過腳本啟動 Spark獨立集群時, 需要在Spark 目錄下創(chuàng)建一個文件 conf/slaves, 列出所有啟動的的Spark workers的主機名,每行一條記錄. Master必須能夠?qū)崿F(xiàn)通過ssh(使用私鑰)訪問worker機器,可以使用ssh localhost來測試。 一旦你建立了這個檔案,你可以通過以下腳本停止或啟動集群, 這些腳本基于 Hadoop’s 部署腳本, 在SPARK_HOME/bin目錄:
|
| 注意:只能在運行Spark的master主機上執(zhí)行上述腳本,而不是你的本地機器。 你可以通過conf/spark-env.sh進一步配置整個集群的環(huán)境變量。這個文件可以用conf/spark-env.sh.template當模版復制生成。然后,復制到所有的worker機器上才奏效。下面給出一些可選的參數(shù)以及含義:
注意:?啟動腳本目前不支持Windows。要運行一個Spark?集群在Windows上,手動啟動master 和 workers? |
集群連接應(yīng)用程序在Spark 集群上運行一個應(yīng)用,只需通過master的 spark://IP:PORT 鏈接傳遞到SparkContext構(gòu)造器 在集群上運行交互式的Spark 命令, 運行如下命令: MASTER=spark://IP:PORT ./spark-shell注意,如果你在一個 spark集群上運行了spark-shell腳本,spark-shell 將通過在conf/spark-env.sh下的SPARK_MASTER_IP和SPARK_MASTER_PORT自動設(shè)置MASTER . 你也可以傳遞一個參數(shù)-c <numCores> 來控制 spark-shell 在集群上使用的核心數(shù)量 |
資源調(diào)度單獨部署模式目前只支持FIFO作業(yè)調(diào)度策略。不過,為了允許多并發(fā)執(zhí)行,你可以控制每一個應(yīng)用可獲得資源的最大值。默認情況下,如果系統(tǒng)中只運行一個應(yīng)用,它就會獲得所有資源。使用類似System.setProperty("spark.cores.max","10")的語句可以獲得內(nèi)核的數(shù)量。這個數(shù)值在初始化SparkContext之前必須設(shè)置好。 |
監(jiān)控和日志Spark單獨部署模式提供了一個基于WEB的集群監(jiān)視器。master和每一個worker都會有一個WEB UI來顯示集群的統(tǒng)計信息。默認情況下,可以通過8080端口訪問master的WEB UI。當然也可以通過配置文件或者命令來修改這個端口值。 另外,每個slave節(jié)點上作業(yè)運行的日志也會詳細的記錄到默認的SPARK_HOME/work目錄下。每個作業(yè)會對應(yīng)兩個文件,stdout和stderr,包含了控制臺上的所有的歷史輸出。 |
和Hadoop同時運行Spark?作為一個獨立的服務(wù),可以和現(xiàn)有的Hadoop集群同時運行。 通過hdfs:// URL,Spark可以訪問hadoop集群的HDFS上的數(shù)據(jù)。(比如地址可以寫成hdfs://<namenode>:9000/path,從Namenode的web UI可以獲得更確切的URL).或者,專門為Spark搭建一個集群,通過網(wǎng)絡(luò)訪問其他HDFS上的數(shù)據(jù),這樣肯定不如訪問本地數(shù)據(jù)速度快,除非是都在同一個局域網(wǎng)內(nèi)。(比如幾臺Spark機器和Hadoop集群在同一機架上)。 ? ? ? http://blog.csdn.net/zajin/article/details/12781097 |
轉(zhuǎn)載于:https://my.oschina.net/xiaominmin/blog/1599590
總結(jié)
以上是生活随笔為你收集整理的Spark 独立部署模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: saiku+kettle整合(六)ola
- 下一篇: 调用打开另外一个APK