大數據Spark(五十九):Standalone集群部署

文章目錄

Standalone集群部署

一、節點劃分

二、搭建Standalone集群

1、將下載好的Spark安裝包上傳解壓

2、配飾spark-env.sh

3、配置workers

4、將配置好的安裝包發送到node2、node3節點上

5、啟動Standalone集群

三、提交任務測試


Standalone集群部署

Standalone 模式是 Spark 自帶的資源調度系統,無需依賴外部集群管理器。在此模式下,集群角色包含主節點(Master)、工作節點(Worker)、Client組成。各角色作用如下:

  • Master節點:負責集群資源管理和任務調度。
  • Worker節點:負責執行具體的計算任務。
  • Client負責:向Standalone集群中提交任務。

一、節點劃分

這里搭建Standalone集群選擇一臺Master和兩臺Worker以及一臺Client,按照如下節點劃分在各個節點上部署各個角色。

#Spark安裝包中各個目錄和文件作用如下 
[root@node1 software]# ll spark-3.5.5 
drwxr-xr-x bin:包含管理Spark的可執行腳本。 
drwxr-xr-x conf:包含Spark的配置模板文件。 
drwxr-xr-x data:包含示例應用程序所需的數據集,通常用于GraphX、MLlib和Streaming的示例。 
drwxr-xr-x examples:包含Spark的示例代碼和JAR包,供用戶參考和測試。 
drwxr-xr-x jars:存放Spark運行時所需的所有JAR包,包括Spark自身的JAR以及其依賴項。 
drwxr-xr-x kubernetes:包含與Kubernetes集成相關的資源和配置。 
-rw-r--r-- LICENSE:Spark的許可證文件,說明了軟件的許可條款。 
drwxr-xr-x licenses:包含Spark所依賴的第三方庫的許可證文件。 
-rw-r--r-- NOTICE:關于Spark的一些法律聲明和通知。 
drwxr-xr-x python:包含PySpark(Spark的Python API)相關的文件和資源。 
drwxr-xr-x R:包含SparkR(Spark的R API)相關的文件和資源。 
-rw-r--r-- README.md:提供關于Spark的簡要介紹和使用說明。 
-rw-r--r-- RELEASE:包含當前Spark版本的發布說明。 
drwxr-xr-x sbin:包含用于啟動和停止Spark集群的腳本。 
drwxr-xr-x yarn:包含與Hadoop YARN集成相關的jar包。

二、搭建Standalone集群

1、將下載好的Spark安裝包上傳解壓

將“spark-3.5.5-bin-hadoop3-scala2.13.tgz”上傳至node1節點,進行解壓并修改名稱。

[root@node1 ~]# cd /software/ [root@node1 software]# tar -zxvf ./spark-3.5.5-bin-hadoop3-scala2.13.tgz 
[root@node1 software]# mv spark-3.5.5-bin-hadoop3-scala2.13 spark-3.5.5

#Spark安裝包中各個目錄和文件作用如下 
[root@node1 software]# ll spark-3.5.5 drwxr-xr-x bin:包含管理Spark的可執行腳本。 
drwxr-xr-x conf:包含Spark的配置模板文件。 
drwxr-xr-x data:包含示例應用程序所需的數據集,通常用于GraphX、MLlib和Streaming的示例。 
drwxr-xr-x examples:包含Spark的示例代碼和JAR包,供用戶參考和測試。 
drwxr-xr-x jars:存放Spark運行時所需的所有JAR包,包括Spark自身的JAR以及其依賴項。 
drwxr-xr-x kubernetes:包含與Kubernetes集成相關的資源和配置。 
-rw-r--r-- LICENSE:Spark的許可證文件,說明了軟件的許可條款。 
drwxr-xr-x licenses:包含Spark所依賴的第三方庫的許可證文件。 
-rw-r--r-- NOTICE:關于Spark的一些法律聲明和通知。 
drwxr-xr-x python:包含PySpark(Spark的Python API)相關的文件和資源。 
drwxr-xr-x R:包含SparkR(Spark的R API)相關的文件和資源。 
-rw-r--r-- README.md:提供關于Spark的簡要介紹和使用說明。 
-rw-r--r-- RELEASE:包含當前Spark版本的發布說明。 
drwxr-xr-x sbin:包含用于啟動和停止Spark集群的腳本。 
drwxr-xr-x yarn:包含與Hadoop YARN集成相關的jar包。

2、配飾spark-env.sh

進入$SPARK_HOME/conf,配置spark-env.sh,配置如下內容:

[root@node1 ~]# cd /software/spark-3.5.5/conf/
[root@node1 conf]# mv spark-env.sh.template spark-env.sh
[root@node1 conf]# vim spark-env.sh
export SPARK_MASTER_HOST=node1
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=3g
export SPARK_WORKER_WEBUI_PORT=8081
  • SPARK_MASTER_HOST:必配項,master的ip。
  • SPARK_MASTER_PORT:提交任務的端口,默認7077。
  • SPARK_MASTER_WEBUI_PORT:Spark WebUI端口,默認8080。
  • SPARK_WORKER_CORES:每個worker從節點能夠支配的core的個數,默認是對應節點上所有可用的core。
  • SPARK_WORKER_MEMORY:每個worker從節點能夠支配的內存大小,默認1G。
  • SPARK_WORKER_WEBUI_PORT:worker WebUI 端口。

3、配置workers

進入$SPARK_HOME/conf,配置workers,寫入node2、node3節點:

[root@node1 ~]# cd /software/spark-3.5.5/conf/
[root@node1 conf]# mv workers.template workers
[root@node1 conf]# vim workers
node2
node3

4、將配置好的安裝包發送到node2、node3節點上

[root@node1 software]# cd /software/
[root@node1 software]# scp -r ./spark-3.5.5 node2:`pwd`
[root@node1 software]# scp -r ./spark-3.5.5 node3:`pwd`

5、啟動Standalone集群

進入$SPARK_HOME/sbin,指定如下命令啟動standalone集群。

[root@node1 software]# cd /software/spark-3.5.5/sbin
[root@node1 sbin]#./start-all.sh

注意:啟動SparkStandalone集群的命令“start-all.sh”與啟動HDFS集群的命令“start-all.sh”命令一樣,這里不再單獨配置Spark環境變量。

Standalone集群啟動完成后,在瀏覽器輸入“http://node1:8080”查看Spark Standalone集群信息。

?

注意:如果Standalone集群沒有正常運行,可以通過查看各個節點的$SPARK_HOME/logs目錄中的日志錯誤來解決。

三、提交任務測試

這里向Standalone集群中提交Spark Pi任務為例,來測試集群是否可以正常提交任務。向Standalone集群中提交任務需要準備Spark客戶端。

Spark客戶端主要就是向Spark集群中提交任務,只要一臺節點上有Spark安裝包,就可以向Spark集群中提交任務,這里在node4節點上單獨再搭建Spark提交任務的客戶端,只需要將Spark安裝包解壓放在node4節點即可。

[root@node4 ~]# cd /software/ 
[root@node4 software]# tar -zxvf ./spark-3.5.5-bin-hadoop3-scala2.13.tgz 
[root@node4 software]# mv ./spark-3.5.5-bin-hadoop3-scala2.13 spark-3.5.5

注意:任何一臺Spark Standalone集群中的節點都可以作為客戶端向Standalone集群中提交任務,這里只是將node4節點作為提交任務客戶端后續向Standalone集群中提交任務。

在node4節點上向Standalone集群中提交任務命令如下:

[root@node4 ~]# cd /software/spark-3.5.5/bin/
[root@node4 bin]# ./spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.13-3.5.5.jar 100

任務提交后,可以看到向Standalone集群中提交任務并執行100個task,最終輸出pi大致結果。


  • 📢博客主頁:https://lansonli.blog.csdn.net
  • 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
  • 📢本文由 Lansonli 原創,首發于 CSDN博客🙉
  • 📢停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學習,全力奔赴更美好的生活?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80699.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Feign異步模式丟失上下文問題

Feign異步模式丟失上下文問題 問題描述 當我們使用異步對我們代碼進行操作優化時,代碼中使用了RequestContextHolder去獲取上下文的數據,當我們執行原來可以執行的業務時發現報了空指針異常或數據為空,這是為什么呢? 原理解釋 …

JavaScript作用域和作用域鏈

在JavaScript中,作用域和作用域鏈是理解代碼執行和變量訪問的關鍵概念。它們決定了變量和函數在代碼中的可見性和生命周期。 一、作用域(Scope) (一)什么是作用域? 作用域是在運行時代碼中的某些特定部分…

人工智能的“歧視”:“她數據”在算法運行中隱形

縱觀人類的發展史,每一次科技進步都將對性別平等產生深刻影響。尤其是當下,人們對于借助人工智能技術快速發展來彌合性別不平等寄予厚望。 但很多人沒想過,人工智能技術本身是客觀中立、不存在“算法歧視”“性別偏見的嗎? 弗吉…

設備全生命周期管理:從采購到報廢的數字化閉環方案

在當今數字化時代,企業對設備的管理已不再局限于簡單的維護與修理,而是追求從采購到報廢的全生命周期數字化閉環管理。易點易動設備管理系統,正是這一趨勢下的佼佼者,它為企業提供了一套高效便捷的設備管理解決方案。 采購階段&a…

React中useState中更新是同步的還是異步的?

文章目錄 前言一、useState 的基本用法二、useState 的更新機制1. 內部狀態管理2. 狀態初始化3. 狀態更新 三、useState 的更新頻率與異步行為1. 異步更新與批量更新2. 為什么需要異步更新? 四、如何正確處理 useState 的更新1. 使用回調函數形式的更新2. 理解異步更…

FEKO許可證與其他電磁仿真軟件的比較

在電磁仿真領域,眾多軟件工具競相爭艷,而FEKO軟件及其許可證制度在其中獨樹一幟。本文將對比FEKO許可證與其他電磁仿真軟件,突出FEKO在許可證方面的卓越性能與獨特優勢,幫助您做出明智的選擇。 一、許可證成本與價值比較 相較于其…

綠色云計算:數字化轉型與可持續發展的完美融合

目錄 引言 綠色云計算的概念與定義 云計算的環境影響與綠色云計算的重要性 綠色云計算的技術實踐與策略 綠色云計算的案例研究與最佳實踐 綠色云計算的挑戰與限制 綠色云計算的未來趨勢與預測 結論與展望 引言 隨著云計算技術的迅猛發展和廣泛應用,其環境影…

在innovus中如何設置讓信號線打上雙孔

知識星球【芯冰樂】入口 為了讓設計的芯片良率能得到顯著提升,一般在繞線資源允許的情況下,我們會在盡可能多的signal線上打上雙孔,然而在進行某個項目的時候,小編驚訝的發現,在數字的layout上一個雙孔都沒出現,這是為什么呢?今天就讓小編分享一下這次新奇的發現; 經…

DevExpress GridControl 復選列實時獲取選中狀態的解決方案

問題核心分析 用戶在使用 DevExpress GridControl 的復選列時遇到兩個關鍵問題: 1.使用 CellValueChanged 事件需要點擊其他列才會觸發,無法實時響應勾選動作 2.使用 CheckedChanged 事件并調用 PostEditor() 會導致復選框無法選中 這主要是因為 DevExp…

數據一致性校驗算法

數據完整性校驗 在 數據錄入、通信協議(CAN、LIN、Ethernet) 和 存儲(Flash、EEPROM) 領域,數據校驗(Error Checking) 是確保 數據完整性和正確性的關鍵技術 示例:當我們從互聯網上…

101個α因子#9

((0 < ts_min(delta(close, 1), 5)) ? delta(close, 1) : ((ts_max(delta(close, 1), 5) < 0) ? delta(close, 1) : (-1 * delta(close, 1))))worldquant brain平臺上調整后的語法&#xff1a; ((0 < min(close-ts_delay(close, 1), ts_delay(close, 1)-ts_delay(c…

國產視頻轉換LT6211UX:HDMI2.0轉LVDS/MIPI芯片簡介,支持4K60Hz

1. LT6211UX HDMI2.0信號輸入 支持HDMI2.0b, HDMI1.4和DVI1.0 支持HDCP2.2和HDCP1.4 數據速率高達6Gbps 自適應接收機均衡 支持4k60Hz 支持的3D格式&#xff1a; 對于HDMI -> LVDS&#xff1a; 直接3D輸出 2路2D L/R輸出 對于HDMI -> MIPI&#xff1a; 框架包裝&#x…

華三(H3C)IRF堆疊心跳的LACP MAD、BFD MAD和ARP MAD差異

華三&#xff08;H3C&#xff09;IRF堆疊心跳的三種MAD&#xff08;多主檢測&#xff09;機制——LACP MAD、BFD MAD和ARP MAD在實現原理、組網要求及適用場景上存在顯著差異。以下是三者的對比分析&#xff1a; 一、核心區別對比 特性LACP MADBFD MADARP MAD檢測原理擴展LAC…

宿州金博學校開展防震演練:夯實安全根基,守護校園平安

5月13日上午9點30分&#xff0c;金博學校原本寧靜的校園被一陣急促的警報聲打破&#xff0c;一場精心籌備、緊張有序的防震演練正式開啟。本次演練意義重大&#xff0c;旨在強化全體師生的防震減災意識&#xff0c;提高大家在地震突發時的應急反應與自我保護能力。 緊急避險&am…

DAY29 超大力王愛學Python

知識點回顧 類的裝飾器裝飾器思想的進一步理解&#xff1a;外部修改、動態類方法的定義&#xff1a;內部定義和外部定義 作業&#xff1a;復習類和函數的知識點&#xff0c;寫下自己過去29天的學習心得&#xff0c;如對函數和類的理解&#xff0c;對python這門工具的理解等&…

RabbitMQ ④-持久化 || 死信隊列 || 延遲隊列 || 事務

消息確認機制 簡單介紹 RabbitMQ Broker 發送消息給消費者后&#xff0c;消費者處理該消息時可能會發生異常&#xff0c;導致消費失敗。 如果 Broker 在發送消息后就直接刪了&#xff0c;就會導致消息的丟失。 為了保證消息可靠到達消費者并且成功處理了該消息&#xff0c;…

python打卡訓練營打卡記錄day31

知識點回顧 規范的文件命名規范的文件夾管理機器學習項目的拆分編碼格式和類型注解 作業&#xff1a;嘗試針對之前的心臟病項目ipynb&#xff0c;將他按照今天的示例項目整理成規范的形式&#xff0c;思考下哪些部分可以未來復用。 心臟病項目目錄 目錄結構:heart/ ├── conf…

mac .zshrc:1: command not found: 0 解決方案

nano ~/.zshrc 使用自帶的nano命令打開文件&#xff0c;修改后 Ctrl X 然后輸入y 然后回車即可保存成功 一般情況下&#xff0c;不是常用這個命令&#xff0c;除非是遇到有問題的文件&#xff0c;才用&#xff0c; 例如 遇到下面的問題 /Users/xxli/.zshrc:1: command no…

uniapp生成的app,關于跟其他設備通信的支持和限制

以下內容通過AI生成&#xff0c;這里做一下記錄。 藍牙 移動應用&#xff08;App&#xff09;通過藍牙與其他設備通信&#xff0c;是通過分層協作實現的。 一、通信架構分層 應用層&#xff08;App&#xff09; 調用操作系統提供的藍牙API&#xff08;如Android的BluetoothA…

第50天-使用Python+Qt+DeepSeek開發AI運勢測算

1. 環境準備 bash 復制 下載 pip install pyside6 requests python-dotenv 2. 獲取DeepSeek API密鑰 訪問DeepSeek官網注冊賬號 進入控制臺創建API密鑰 在項目根目錄創建.env文件: env 復制 下載 DEEPSEEK_API_KEY=your_api_key_here 3. 創建主應用框架 python 復制…