日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Spark集群模式概述

發(fā)布時(shí)間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark集群模式概述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

集群模式概述

本文簡(jiǎn)要地概述一下Spark是如何在集群上運(yùn)行的,方便理解Spark以及相關(guān)的組件。如何向集群提交應(yīng)用程序參閱應(yīng)用程序提交指南?

組件

Spark應(yīng)用程序在集群上運(yùn)行由一系列的獨(dú)立的進(jìn)程組成,進(jìn)程相互之間由主程序(稱(chēng)為驅(qū)動(dòng)程序?)SparkContext協(xié)調(diào)。而且,集群上運(yùn)行SparkContext可以連接多種類(lèi)型的?集群管理器?(Spark的獨(dú)立集群管理器或mesos/yarn),這些集群管理器負(fù)責(zé)為應(yīng)用程序分配資源。 一旦連接,Spark獲得集群中的節(jié)點(diǎn)的執(zhí)行器?, 這些執(zhí)行器負(fù)責(zé)為應(yīng)用程序運(yùn)行計(jì)算以及存儲(chǔ)數(shù)據(jù)。 接下來(lái),它將發(fā)送您的應(yīng)用程序代碼(傳遞給SparkContextJARPython文件)到執(zhí)行器。 最后,SparkContext發(fā)送?任務(wù)給執(zhí)行器。

下面是一些需要注意的關(guān)于這個(gè)架構(gòu)有用的東西:

1.???? 每個(gè)應(yīng)用程序都有自己的執(zhí)行器進(jìn)程,這些進(jìn)程將貫穿整個(gè)應(yīng)用程序的生命周期以及在多個(gè)線(xiàn)程中運(yùn)行任務(wù)。不管是在調(diào)度端(每個(gè)驅(qū)動(dòng)安排自己的任務(wù))和執(zhí)行器端(不同應(yīng)用程序的任務(wù)運(yùn)行在不同的jvm), 隔離應(yīng)用程序都有好處,。然而,這也意味著數(shù)據(jù)不能跨不同的Spark(SparkContext實(shí)例)共享,除非將數(shù)據(jù)先存放到外部存儲(chǔ)系統(tǒng)再共享。

2.???? 底層集群管理器對(duì)Spark是透明的。只要能獲得執(zhí)行器進(jìn)程及它們之間能相互通信,這讓Spark在集群管理器上運(yùn)行相對(duì)容易,即使該集群管理器還支持其他應(yīng)用程序(例如mesos/yarn)

3.???? 驅(qū)動(dòng)程序在它的生命周期必須監(jiān)聽(tīng)和接受連接的執(zhí)行器的輸入 (請(qǐng)參閱?spark.driver.portspark.fileserver.port網(wǎng)絡(luò)配置章節(jié)?) 因此,驅(qū)動(dòng)程序在網(wǎng)絡(luò)中必須能被工作節(jié)點(diǎn)尋址找到。

4.???? 因?yàn)轵?qū)動(dòng)在集群上調(diào)度任務(wù),它應(yīng)該在工作節(jié)點(diǎn)附近運(yùn)行,最好在同一局域網(wǎng)內(nèi)。如果你想發(fā)送請(qǐng)求給遠(yuǎn)程集群,最好讓驅(qū)動(dòng)程序開(kāi)一個(gè)RPC,并且讓它在工作節(jié)點(diǎn)附近提交操作而不是直接在遠(yuǎn)離工作節(jié)點(diǎn)的地方提交操作。

集群管理器類(lèi)型

系統(tǒng)目前支持三個(gè)集群管理器:

·???????? Standalone?Spark自帶的一個(gè)簡(jiǎn)單的集群管理器,使用它設(shè)置集群很容易。

·???????? Apache Mesos? 普通的集群管理器,它還可以運(yùn)行Hadoop MapReduce和服務(wù)應(yīng)用程序。

·???????? Hadoop yarn? Hadoop 2的資源管理器。

此外,Spark?EC2啟動(dòng)腳本?可以很方便地在Amazon EC2上啟動(dòng)一個(gè)獨(dú)立集群。

提交的應(yīng)用程序

使用?spark-submit腳本可以把應(yīng)用程序提交任何類(lèi)型的集群。參見(jiàn)?應(yīng)用程序提交指南?

監(jiān)控

每個(gè)驅(qū)動(dòng)程序都有一個(gè)web UI,通常在端口4040,顯示運(yùn)行任務(wù)、執(zhí)行器和存儲(chǔ)使用的信息。 http:// < driver-node >:4040?web瀏覽器中直接打開(kāi)即可。監(jiān)控指導(dǎo)?描述其他監(jiān)視選項(xiàng)。

作業(yè)調(diào)度

Spark給出了跨應(yīng)用程序(在集群管理的層次)和應(yīng)用程序內(nèi)(如果多個(gè)計(jì)算發(fā)生在同一SparkContext)的資源分配控制。 參見(jiàn)作業(yè)計(jì)劃概述?

術(shù)語(yǔ)表

下面的表列出了將來(lái)會(huì)用到的一些集群概念的術(shù)語(yǔ):

術(shù)語(yǔ)

意義

Application(應(yīng)用程序)

在Spark上構(gòu)建的用戶(hù)程序。 由在集群上的driver program(驅(qū)動(dòng)程序)executors

(執(zhí)行器)組成

Application jar

(應(yīng)用程序jar)

包含用戶(hù)的Spark的應(yīng)用程序jar包。在某些情況下,用戶(hù)將需要?jiǎng)?chuàng)建一個(gè)包含應(yīng)用程序和

所有它的依賴(lài)項(xiàng)的 “uber jar”,但請(qǐng)注意,千萬(wàn)不要包括HadoopSpark庫(kù),這些在運(yùn)行時(shí)將

被添加。

Driver program(驅(qū)動(dòng)程序)

運(yùn)行應(yīng)用程序的main()函數(shù)和創(chuàng)建SparkContext

Cluster manager(集群管理器)

獲取集群上資源的外部服務(wù)(如獨(dú)立管理器,Mesos,YARN)

Deploy mode(部署模式)

區(qū)別在于驅(qū)動(dòng)程序在哪運(yùn)行。 集群模式下,框架在集群內(nèi)啟動(dòng)驅(qū)動(dòng)。

客戶(hù)端模式下,提交者啟動(dòng)在集群外啟動(dòng)驅(qū)動(dòng)程序。

Worker node(工作節(jié)點(diǎn))

在集群中運(yùn)行應(yīng)用程序代碼的任何節(jié)點(diǎn)

Executor(執(zhí)行器)

在工人節(jié)點(diǎn)上啟動(dòng)應(yīng)用程序的進(jìn)程,并負(fù)責(zé)運(yùn)行任務(wù)和在內(nèi)存或磁盤(pán)存儲(chǔ)數(shù)據(jù).

每個(gè)應(yīng)用程序都有自己的執(zhí)行器。

Task(任務(wù))

工作單元,將被送到執(zhí)行器

Job(工作)

包含多個(gè)任務(wù)的并行計(jì)算,這些任務(wù)獲得Spark動(dòng)作的響應(yīng)(save(保存),?collect(收集))\

您將看到這個(gè)詞被用在驅(qū)動(dòng)的日志中。

Stage(階段)

每個(gè)工作被分成較小的相互依賴(lài)的任務(wù)階段?(類(lèi)似于MapReducemapreduce階段),

您將看到這個(gè)詞被用在驅(qū)動(dòng)的日志中。

?

轉(zhuǎn)載于:https://my.oschina.net/newlife111/blog/415376

總結(jié)

以上是生活随笔為你收集整理的Spark集群模式概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。