Spark Local模式安裝

因?yàn)橄朐谧约旱男”颈镜腖inux系統(tǒng)下裝spark藕筋。用一下章魚平臺(tái)上實(shí)驗(yàn)的Local模式下安裝Spark世澜。

實(shí)驗(yàn)來自章魚大數(shù)據(jù)--------------------------------------------------------------------------------------------------------------------------------------------------實(shí)驗(yàn)來自章魚大數(shù)據(jù)

實(shí)驗(yàn)?zāi)康?/b>

? ? ? ? ? ?1.了解Spark的六種運(yùn)行模式

? ? ? ? ? ?2.準(zhǔn)確理解Spark Local模式運(yùn)行原理

? ? ? ? ? ?3.熟練掌握Spark Local模式的安裝流程

實(shí)驗(yàn)原理

? ? ? ? ? ?目前Apache Spark主要支持三種分布式部署方式:分別是standalone、Spark on mesos和spark on YARN,其中东羹,第一種類似于 ?MapReduce 1.0所采用的模式,內(nèi)部實(shí)現(xiàn)了容錯(cuò)性和資源管理忠烛,后兩種則是未來發(fā)展的趨勢(shì)属提,部分容錯(cuò)性和資源管理交由統(tǒng)一的資源管理系統(tǒng)完成:讓Spark運(yùn)行在一個(gè)通用的資源管理系統(tǒng)之上,這樣可以與其他計(jì)算框架美尸,比如MapReduce共用一個(gè)集群資源冤议,最大的好處是降低運(yùn)維成本和提高資源利用率(資源按需分配)旬迹。

? ? ? ?1.Spark運(yùn)行模式概述

? ? ? ? ? 在實(shí)際應(yīng)用中,Spark應(yīng)用程序的運(yùn)行模式取決于傳遞給SparkContext的MASTER環(huán)境變量的值求类,個(gè)別模式還需要依賴輔助的程序接口來配合使用奔垦,目前所支持的MASTER環(huán)境變量由特定的字符串或URL所組成,如下所示尸疆。

? ? ? ? ? (1)Local[N]:本地模式椿猎,使用多個(gè)線程。

? ? ? ? ? (2)Local cluster[worker, core, Memory]:偽分布式模式寿弱,可以配置所需要啟動(dòng)的虛擬工作節(jié)點(diǎn)的數(shù)量犯眠,以及每個(gè)工作節(jié)點(diǎn)所管理的CPU數(shù)量和內(nèi)存尺寸。

? ? ? ? ? (3)Spark://hostname:port:Standalone模式症革,需要部署Spark到相關(guān)節(jié)點(diǎn)筐咧,URL為Spark Master主機(jī)地址和端口。

? ? ? ? ? (4)Mesos://hostname:port:Mesos模式噪矛,需要部署Spark和Mesos到相關(guān)節(jié)點(diǎn)量蕊,URL為Mesos主機(jī)地址和端口。

? ? ? ? ? (5)YARN standalone/Yarn cluster:YARN模式一艇挨,主程序邏輯和任務(wù)都運(yùn)行在YARN集群中残炮。

? ? ? ? ? (6)YARN client:YARN模式二,主程序邏輯運(yùn)行在本地缩滨,具體任務(wù)運(yùn)行在YARN集群中势就。

? ? ? ? ? ? 此外還有一些用于調(diào)試的URL,因?yàn)楹蛻?yīng)用無關(guān)脉漏,我們?cè)谶@里就不列舉了苞冯。

? ? ? ?2.Local模式部署及程序運(yùn)行

? ? ? ? ? ? Local模式,顧名思義就是在本地運(yùn)行侧巨,如果不加任何配置舅锄,Spark默認(rèn)設(shè)置為L(zhǎng)ocal模式。以SparkPi為例刃泡,Local模式下的應(yīng)用程序的啟動(dòng)命令如下:

? ? ? ? ? ? ./bin/run-example org.apache.spark.examples.SparkPi local

? ? ? ? ? ?在SparkPi代碼的具體實(shí)現(xiàn)中括堤,是根據(jù)用戶傳入的參數(shù)來選擇運(yùn)行模式的宫莱,如果需要自己在代碼中指定運(yùn)行模式菱涤,可以通過在代碼中配置Master為L(zhǎng)ocal來實(shí)現(xiàn)蜜自,如以下程序所示勺疼。

? ? ? ? ?import org.apache.spark.{SparkConf, SparkContext}

? ? ? ? ?val conf = new SparkConf()

? ? ? ? .setMaster("local")

? ? ? ?.setAppName("My application")

? ? ? ?.set("spark.executor.memory", "1g")

? ? ? ? val sc = new SparkContext(conf)

? ? ? ? ? ? 當(dāng)然训措,為了使應(yīng)用程序能夠更靈活地在各種部署環(huán)境下使用掠归,不建議把與運(yùn)行環(huán)境相關(guān)的設(shè)置直接在代碼中寫死掀亩。

? ? ? ? ?3.Local本地模式內(nèi)部實(shí)現(xiàn)原理

? ? ? ? ? ? ? ?Local本地模式使用LocalBackend配合TaskSchedulerImpl芹啥,內(nèi)部邏輯結(jié)構(gòu)如下圖所示:


? ? ? ? ? ? LocalBackend響應(yīng)Scheduler的receiveOffers請(qǐng)求锻离,根據(jù)可用的CPU核的設(shè)定值[N]直接生成CPU資源返回給Scheduler铺峭,并通過Executor類在線程池中依次啟動(dòng)和運(yùn)行Scheduler返回的任務(wù)列表,其核心事件循環(huán)由內(nèi)部類LocalActor以Akka Actor的消息處理形式來實(shí)現(xiàn)汽纠。

實(shí)驗(yàn)環(huán)境

? ? ? ? ? ?Linux Ubuntu 14.04

? ? ? ? ? ?jdk-7u75-linux-x64

實(shí)驗(yàn)內(nèi)容

? ? ? ? ? ?在已經(jīng)安裝有jdk1.7的Linux系統(tǒng)的環(huán)境下卫键,進(jìn)行Spark local模式安裝。

實(shí)驗(yàn)步驟

? ? ? ? ? ? 1.Spark的運(yùn)行依賴jdk以及scala環(huán)境虱朵。在此已默認(rèn)安裝jdk1.7莉炉。

? ? ? ? ? ? 2.首先在linux上創(chuàng)建目錄/data/spark1,用于存儲(chǔ)所需文件碴犬。

切換目錄到/data/spark1目錄絮宁,使用wget命令,下載所需的Spark安裝包spark-1.6.0-bin-hadoop2.6.tgz以及Scala安裝包scala2.10.4.tgz服协。


此處建議使用scala-2.10.4版本绍昂。官網(wǎng)中指出,若使用scala2.11.x版本偿荷,需要重新編譯Spark窘游,并且編譯時(shí),需要指定Scala版本的類型跳纳。

關(guān)于Spark版本张峰,沒有嚴(yán)格要求。所以我們使用Spark1.6版本棒旗。

? ? ? ? ? ? ? 3.安裝scala喘批。切換目錄到/data/spark1目錄下,將scala-2.10.4.tgz解壓縮到/apps目錄下铣揉,并將解壓后的目錄名改為/apps/scala饶深。



? ? ? ? 使用vim打開用戶環(huán)境變量~/.bashrc。

? ? ? ? 代碼:?vim ?~/.bashrc

? ? ? ? 將scala的bin目錄逛拱,追加到用戶環(huán)境變量中敌厘,然后保存退出


? ? ? ? ?執(zhí)行source命令,使系統(tǒng)環(huán)境變量生效

? ? ? ? ?代碼:source ?~/.bashrc

? ? ? ? ? 4朽合,切換目錄到/data/spark1目錄下俱两,將spark的安裝包spark-1.6.0-bin-hadoop2.6.tgz,解壓縮到/apps目錄下曹步,并將解壓后的目錄名重命名為spark宪彩。

代碼 如下 :?


使用vim打開用戶環(huán)境變量~/.bashrc。

代碼:vim ~/.bashrc

將Spark的配置信息追加到用戶環(huán)境變量中讲婚,然后保存退出


執(zhí)行source命令尿孔,使用戶環(huán)境變量生效。

代碼:Source ~/.bashrc

? ? ? ? ? ?5,下面不需要對(duì)spark進(jìn)行任何配置活合,就可以啟動(dòng)spark-shell進(jìn)行任務(wù)處理了雏婶。

? ? ? ? ? ?切換目錄到/apps/spark/bin目錄下,啟動(dòng)spark shell白指,驗(yàn)證安裝完的spark是否可用留晚。可以啟動(dòng)本地模式告嘲。

執(zhí)行


? ? ? ? ? ? ? ?6倔丈,執(zhí)行測(cè)試。在Spark Shell中状蜗,使用Scala加載Spark安裝目錄下需五,文件README.md,并轉(zhuǎn)變?yōu)閞dd轧坎。

Val rdd =sc.textFile(“/apps/spark/README.md”)

對(duì)rdd進(jìn)行算子操作宏邮,統(tǒng)計(jì)文件的行數(shù)。

可以看到輸出為:



? Spark安裝完成缸血!

實(shí)驗(yàn)來自章魚大數(shù)據(jù)--------------------------------------------------------------------------------------------------------------------------------------------------實(shí)驗(yàn)來自章魚大數(shù)據(jù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜜氨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捎泻,更是在濱河造成了極大的恐慌飒炎,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笆豁,死亡現(xiàn)場(chǎng)離奇詭異郎汪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)闯狱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門煞赢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哄孤,你說我怎么就攤上這事照筑。” “怎么了瘦陈?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵凝危,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我晨逝,道長(zhǎng)蛾默,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任咏花,我火速辦了婚禮趴生,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昏翰。我一直安慰自己苍匆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布棚菊。 她就那樣靜靜地躺著浸踩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪统求。 梳的紋絲不亂的頭發(fā)上检碗,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音码邻,去河邊找鬼折剃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛像屋,可吹牛的內(nèi)容都是我干的怕犁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼己莺,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奏甫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凌受,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤阵子,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胜蛉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挠进,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年誊册,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奈梳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡解虱,死狀恐怖攘须,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情殴泰,我是刑警寧澤于宙,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站悍汛,受9級(jí)特大地震影響捞魁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜离咐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一谱俭、第九天 我趴在偏房一處隱蔽的房頂上張望奉件。 院中可真熱鬧,春花似錦昆著、人聲如沸县貌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽煤痕。三九已至,卻和暖如春接谨,著一層夾襖步出監(jiān)牢的瞬間摆碉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工脓豪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留巷帝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓扫夜,卻偏偏與公主長(zhǎng)得像锅睛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子历谍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容