Spark---基于Standalone模式提交任務

Standalone模式兩種提交任務方式

一、Standalone-client提交任務方式

1、提交命令

./spark-submit --master spark://mynode1:7077  
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

或者

./spark-submit --master spark://mynode1:7077 
--deploy-mode client  
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

2、執行原理圖解

1)、執行流程

1、client模式提交任務后,會在客戶端啟動Driver進程。

2、Driver會向Master申請啟動Application啟動的資源

3、Master收到請求之后會在對應的Worker節點上啟動Executor

4、Executor啟動之后,會注冊給Driver端,Driver掌握一批計算資源

5、Driver端將task發送到worker端執行。worker將task執行結果返回到Driver端。

2)、總結

client模式適用于測試調試程序。Driver進程是在客戶端啟動的,這里的客戶端就是指提交應用程序的當前節點。在Driver端可以看到task執行的情況。生產環境下不能使用client模式,是因為:假設要提交100個application到集群運行,Driver每次都會在client端啟動,那么就會導致客戶端100次網卡流量暴增的問題。client模式適用于程序測試,不適用于生產環境,在客戶端可以看到task的執行和結果

二、Standalone-cluster提交任務方式

1、提交命令

./spark-submit --master spark://mynode1:7077 
--deploy-mode cluster
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

2、執行原理圖解

1)、執行流程

1、cluster模式提交應用程序后,會向Master請求啟動Driver

2、Master接受請求,隨機在集群一臺節點啟動Driver進程

3、Driver啟動后為當前的應用程序申請資源

4、Driver端發送task到worker節點上執行

5、worker將執行情況和執行結果返回給Driver端

2)、總結

Driver進程是在集群某一臺Worker上啟動的,在客戶端是無法查看task的執行情況的。假設要提交100個application到集群運行,每次Driver會隨機在集群中某一臺Worker上啟動,那么這100次網卡流量暴增的問題就散布在集群上。

  • 總結Standalone兩種方式提交任務,Driver與集群的通信包括:

1. Driver負責應用程序資源的申請

2. 任務的分發。

3. 結果的回收。

4. 監控task執行情況。

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

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

相關文章

給數據庫查詢結果添加一個額外的自增編號

1、在mysql數據庫可以執行的sql SELECT( i : i 1 ) num,M.* FROMuser M,( SELECT i : 0 ) AS ID GROUP BYM.ID ORDER BYM.create_time SELECT (i :i 1) 是為了生成自增的序列號字段 SELECT i : 0 是為了將i進行初始化每次查詢的序列號都會從1開始進行排序生成序列號 在…

go sync.map源碼解讀

此源碼理解僅為個人理解,如有錯誤歡迎指出 sync.map的數據結構主要包含四個字段 一個互斥鎖,readonly,dirty,和miss 從讀寫兩個方面來講這幾個變量 readonly其實就是有bool值的dirty,底層結構都是map readonly的讀更新不會上鎖&#xff0c…

在springboot中實現WebSocket協議通信

前面介紹了使用netty實現websocket通信,有些時候,如果我們的服務并不復雜或者連接數并不高,單獨搭建一個websocket服務端有些浪費資源,這時候我們就可以在web服務內提供簡單的websocket連接支持。其實springboot已經支持了websock…

20230511 Windows Ubuntu vscode remote-ssh 連接配置

參考 : VSCode SSH 連接遠程ubuntu Linux 主機 VSCode通過Remote SSH擴展連接到內網Ubuntu主機 Ubuntu 安裝 sudo apt-get install openssh-server vscode: 安裝remote-ssh 插件 連接到服務器IP 免密登錄的公鑰密鑰傳遞用filezillaUbuntu 和 Windows 文件互傳 …

PMP對項目工程師有用嗎?

一、什么是項目工程師? 項目工程師是指在各個領域負責技術操作、設計、管理以及評估能力的人員。他們通常擔當項目的實施和執行角色,在開發或控制類項目中發揮重要作用。有時,項目工程師的稱號還可以用來表示在某個領域取得專業資格的人員。…

深入理解路由協議:從概念到實踐

路由技術是Internet得以持續運轉的關鍵所在,路由是極其有趣而又復雜的課題,永遠的話題。 SO:這是一個解析路由協議的基礎文章。 目錄 前言路由的概念路由協議的分類數據包在網絡中的路由過程理解路由表的結構路由器關鍵功能解析 前言 在互聯…

PTA-字符串的連接

本題要求實現一個函數&#xff0c;將兩個字符串連接起來。 函數接口定義&#xff1a; char *str_cat( char *s, char *t ); 函數str_cat應將字符串t復制到字符串s的末端&#xff0c;并且返回字符串s的首地址。 裁判測試程序樣例&#xff1a; #include <stdio.h> #inc…

SQL Server數據庫自動備份方法

要編寫一個自動備份 SQL Server 數據庫的腳本&#xff0c;可以使用 SQL Server Management Studio (SSMS) 或者 Transact-SQL (T-SQL) 腳本。以下是一個簡單的 T-SQL 腳本示例&#xff0c;該腳本將數據庫備份到指定的文件路徑&#xff1a; -- 設置要備份的數據庫名稱 DECLARE D…

求解Beamforming-SOCP(CVX求解)

時間&#xff1a;2023年11月23日14:00:16&#xff1a; 直接上代碼&#xff08;辛苦兩天才改出來的&#xff09; clear all; K 4; %user number N4; %base station number var1e-9; H []; %initialize H matrix for i1:Kh 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)1i/sqrt(2*…

【C++】泛型編程 ? ( 類模板 static 關鍵字 | 類模板 static 靜態成員 | 類模板使用流程 )

文章目錄 一、類模板使用流程1、類模板 定義流程2、類模板 使用3、類模板 函數 外部實現 二、類模板 static 關鍵字1、類模板 static 靜態成員2、類模板 static 關鍵字 用法3、完整代碼示例 將 類模板 函數聲明 與 函數實現 分開進行編碼 , 有 三種 方式 : 類模板 的 函數聲明…

數據結構 二叉樹

二叉樹 二叉樹是n個有限元素的集合&#xff0c;該集合或者為空、或者由一個稱為根&#xff08;root&#xff09;的元素及兩個不相交的、被分別稱為左子樹和右子樹的二叉樹組成&#xff0c;是有序樹。當集合為空時&#xff0c;稱該二叉樹為空二叉樹。在二叉樹中&#xff0c;一個…

【8】Spring Boot 3 集成組件:安全組件 spring security【官網概念篇】

目錄 【8】Spring Boot 3 集成組件&#xff1a;安全組件 spring securitySpring Security 簡介先決條件引入依賴身份驗證密碼存儲密碼存儲歷史DelegatingPasswordEncoder密碼存儲格式密碼加解密類自定義密碼存儲 體系結構 ArchitectureServlet 過濾器DelegatingFilterProxyFilt…

第二十章 多線程

20.2創建線程 20.2.1繼承Thread類 Thread類是Java.lang包中的一個類&#xff0c;從這個類中實例化的對象代表線程&#xff0c;程序員啟動一個新線程需要建議Thread實例。 public class ThreadTest extedns Thread{} run方法格式&#xff1a; public void run(){} 20.1讓線程循…

mysql命令導出表結構和數據

MySQL是一款流行的關系型數據庫管理系統&#xff0c;是許多公司和組織使用的首選數據庫。在日常使用中&#xff0c;我們經常需要對數據庫進行備份和復制&#xff0c;因此必須了解如何導出表結構和表數據。以下是使用MySQL命令導出表結構和表數據的方法。 1. 導出表結構 mysql…

AnalyticDB for PostgreSQL 實時數據倉庫上手指南

AnalyticDB for PostgreSQL 實時數據倉庫上手指南 2019-04-016601 版權 本文涉及的產品 云原生數據倉庫 ADB PostgreSQL&#xff0c;4核16G 50GB 1個月 推薦場景&#xff1a; 構建的企業專屬Chatbot 立即試用 簡介&#xff1a; AnalyticDB for PostgreSQL 提供企業級數…

iOS合并代碼后解決沖突

合并主干和分支代碼后有沖突&#xff0c;xcode無法運行&#xff0c;如下圖&#xff1a;文件顯示不了&#xff0c;項目名也顯示不了 解決沖突&#xff1a; 1.選中左邊目錄欄的項目名。鼠標右鍵--> Show in Finder 2.選中項目文件 xxxx.xcodeproj。鼠標右鍵--> 顯示包內容…

【python學習】中級篇-繪制圖形:turtle庫

turtle庫是Python的一個繪圖庫&#xff0c;它提供了一個簡單的繪圖窗口&#xff0c;可以讓你通過控制一個小海龜在屏幕上移動來繪制圖形。 以下是一個簡單的turtle庫用法示例&#xff1a; 在這個示例中&#xff0c;我們首先導入了turtle庫&#xff0c;然后創建了一個畫布和一個…

【創建一個C++線程需要傳入幾個參數?】

在C++中,創建一個std::thread對象時,你可以傳遞多個參數,但至少需要一個參數:線程將要執行的函數。這個函數可以是一個普通函數、一個類的成員函數,或者一個可調用對象(如lambda表達式)。除了要執行的函數之外,你還可以傳遞任何數量的參數,這些參數將被轉發到線程函數…

idea手動導入maven包

當maven倉庫中沒有包時&#xff0c;我們需要手動導入jar到maven項目中 1.這里的maven設置成你自己安裝的maven 2.查看pom.xml文件中maven&#xff0c;以下面為例 <dependency><groupId>com.jdd.pay</groupId><artifactId>mapi-sdk-v3</artifactId&…

零基礎小白如何自學 Python 步驟和知識點?

Python是一種流行的編程語言&#xff0c;被廣泛用于Web開發、數據分析、機器學習、人工智能等領域。如果你是零基礎的Python初學者&#xff0c;不必擔心&#xff0c;以下是一些建議&#xff0c;幫助你開始Python編程之旅。 黑馬程序員python教程&#xff0c;8天python從入門到…