大資料Spark叢集模式配置
這裡我們來看看只使用Spark自身節點執行的叢集模式,也就是我們所謂的獨立部署(Standalone)模式。Spark的Standalone模式體現了經典的master-slave模式。
|
叢集規劃:
將spark-3.0.0-bin-hadoop3.2.tgz.tgz檔案上傳到 並解壓縮在指定位置
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module cd /opt/module mv spark-3.0.0-bin-hadoop3.2 spark-standalone
1) 進入解壓縮後路徑的conf目錄,修改slaves.template檔名為slaves
mv slaves.template slaves
2) 修改slaves檔案,新增work節點
hadoop102hadoop103hadoop104
3) 修改spark-env.sh.template檔名為spark-env.sh
mv spark-env.sh.template spark-env.sh
4) 修改spark-env.sh,新增JAVA_HOME環境變數和叢集對應的master節點
export JAVA_HOME=/opt/module/jdk1.8.0_212 SPARK_MASTER_HOST=hadoop102SPARK_MASTER_PORT=7077
注意:7077埠,相當於hadoop3.x內部通訊的8020埠,此處的埠需要確認自己的虛擬機器配置
5) 分發spark-standalone目錄
xsync spark-standalone
1) 執行 :
sbin/start-all.sh
2) 檢視三臺伺服器執行程式
================hadoop102================ 3330 Jps 3238 Worker 3163 Master ================hadoop103================ 2966 Jps 2908 Worker ================hadoop104================ 2978 Worker 3036 Jps
3) 檢視Master資源監控Web UI介面:
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hadoop102:7077 \ ./examples/jars/spark-examples_2.12-3.0.0.jar \ 10
- --class表示要執行程式的主類
- --master spark://hadoop102:7077 獨立部署模式,連線到Spark叢集
- spark-examples_2.12-3.0.0.jar 執行類所在的jar包
- 數字10表示程式的入口引數,用於設定當前應用的任務數量
執行任務時,會產生多個Java程式
大資料Spark執行環境:Standalone模式與配置詳解
執行任務時,預設採用伺服器叢集節點的總核數,每個節點記憶體1024M。
由於spark- 停止掉後,叢集監控hadoop102:4040頁面就看不到歷史任務的執行情況,所以開發時都配置歷史伺服器記錄任務執行情況。
1) 修改spark-defaults.conf.template檔名為spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
2) 修改spark-default.conf檔案,配置日誌儲存路徑
spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop102:8020/directory
注意:需要啟動hadoop叢集,HDFS上的directory目錄需要提前存在。
sbin/start-dfs.sh hadoop fs -mkdir /directory
3) 修改spark-env.sh, 新增日誌配置
export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory -Dspark.history.retainedApplications=30"
注:寫成一行!!空格隔開!!!
- 引數1含義:WEB UI訪問的埠號為18080
- 引數2含義:指定歷史伺服器日誌儲存路徑
- 引數3含義:指定儲存Application歷史記錄的個數,如果超過這個值,舊的應用程式資訊將被刪除,這個是記憶體中的應用數,而不是頁面上顯示的應用數。
4) 分發配置檔案
xsync conf
5) 重新啟動叢集和歷史服務
sbin/start-all.sh sbin/start-history-server.sh
6) 重新執行任務
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hadoop102:7077 \ ./examples/jars/spark-examples_2.12-3.0.0.jar \ 10
7) 檢視歷史服務:
所謂的高可用是因為當前叢集中的Master節點只有一個,所以會存在單點故障問題。所以為了解決單點故障問題,需要在叢集中配置多個Master節點,一旦處於活動狀態的Master發生故障時,由備用Master提供服務,保證作業可以繼續執行。這裡的高可用一般採用Zookeeper設定
叢集規劃:
1) 停止叢集
sbin/stop-all.sh
2) 啟動Zookeeper
3) 修改spark-env.s件新增如下配置
註釋如下內容: #SPARK_MASTER_HOST=hadoop102#SPARK_MASTER_PORT=7077 新增如下內容:#Master監控頁面預設訪問埠為8080,但是會和Zookeeper衝突,所以改成8989,也可以自定義,訪問UI監控頁面時請注意 SPARK_MASTER_WEBUI_PORT=8989 export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104 -Dspark.deploy.zookeeper.dir=/spark" 注:寫成一行!!空格隔開!!!
4) 分發配置檔案
xsync conf/
5) 啟動叢集
sbin/start-all.sh
6) 啟動hadoop103的單獨Master節點,此時hadoop103節點Master狀態處於備用狀態
[bigdata@hadoop103 spark-standalone]$ sbin/start-master.sh
7) 提交應用到高可用叢集
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hadoop102:7077,hadoop103:7077 \ ./examples/jars/spark-examples_2.12-3.0.0.jar \ 10
8) 停止hadoop102的Master資源監控程式
9) 檢視hadoop103的Master 資源監控Web UI,稍等一段時間後,hadoop103節點的Master狀態提升為活動狀態
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2727323/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- spark叢集的配置檔案Spark
- 大資料分享Spark任務和叢集啟動流程大資料Spark
- redis偽叢集配置Cluster叢集模式Redis模式
- 部署Spark2.2叢集(on Yarn模式)SparkYarn模式
- 部署spark2.2叢集(standalone模式)Spark模式
- Spark3.0.1各種叢集模式搭建Spark模式
- 大資料叢集搭建(1)ubuntu、jdk、ssh搭建配置大資料UbuntuJDK
- 大資料專案實踐(一)——之HDFS叢集配置大資料
- 搭建spark on yarn 叢集SparkYarn
- 大資料7.1 - hadoop叢集搭建大資料Hadoop
- CDH安裝大資料叢集大資料
- 大資料之CDH叢集搭建大資料
- 好程式設計師大資料分享Spark任務和叢集啟動流程程式設計師大資料Spark
- Redis叢集模式和常用資料結構Redis模式資料結構
- Spark3.0.0叢集搭建Spark
- 使用青雲搭建大資料叢集大資料
- 大資料平臺Hadoop叢集搭建大資料Hadoop
- Spark叢集部署(standLone)模式Spark模式
- docker下,極速搭建spark叢集(含hdfs叢集)DockerSpark
- spark學習筆記--叢集執行SparkSpark筆記
- 安裝配置 zookeeper (單機非叢集模式)模式
- 大資料叢集核心引數調優大資料
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- 開源大資料叢集部署(十一)Ranger 整合Hadoop叢集大資料RangerHadoop
- azkaban叢集模式安裝與execute-as-user配置模式
- Spark新手入門——2.Hadoop叢集(偽分佈模式)安裝SparkHadoop模式
- Kafka叢集配置Kafka
- 最快方式搭建docker大資料 測試叢集Docker大資料
- Spark叢集和任務執行Spark
- 大資料叢集搭建 – 1. CDH叢集安裝 – 環境準備大資料
- Redis介紹、使用、資料結構和叢集模式總結Redis資料結構模式
- Docker中提交任務到Spark叢集DockerSpark
- 基於 ZooKeeper 搭建 Spark 高可用叢集Spark
- Docker Elasticsearch 叢集配置DockerElasticsearch
- 【資料庫】Redis叢集篇資料庫Redis
- Centos7安裝Nacos單機模式以及叢集模式(包含nignx安裝以及實現叢集)的相關配置CentOS模式
- 大資料叢集搭建 – 2. CDH叢集安裝 – NTP,MYSQL,nginx安裝大資料MySqlNginx
- 有贊大資料離線叢集遷移實戰大資料