Spark介紹及搭建

Spark簡(jiǎn)介

什么是Spark黍析?

Apache Spark是由加州伯克利分校AMP實(shí)驗(yàn)室開(kāi)發(fā)的通用大數(shù)據(jù)處理框架。Spark提供了大數(shù)據(jù)處理的一站式解決方案键思,以Spark Core為基礎(chǔ)推出了Spark SQL础爬、Spark Streaming、MLlib吼鳞、GraphX看蚜、SparkR等組件。整個(gè)Spark生態(tài)體系稱為BDAS赔桌,即:伯克利數(shù)據(jù)分析棧供炎。

Spark特點(diǎn)

Spark具有運(yùn)行速度快、易用性好疾党、通用型強(qiáng)和隨處運(yùn)行的特點(diǎn)音诫。

運(yùn)行速度快(Speed)

  • 如果Spark基于內(nèi)存讀取,速度是Hadoop的100倍雪位;使用磁盤(pán)讀取竭钝,也是Hadoop的十倍。spark之所以能夠比Hadoop快雹洗,有兩點(diǎn)主要原因:基于內(nèi)存計(jì)算和引入DAG執(zhí)行引擎香罐。
  • Spark在迭代計(jì)算過(guò)程中數(shù)據(jù)默認(rèn)是保存在內(nèi)存中,后續(xù)計(jì)算直接讀取內(nèi)存中的結(jié)果即可时肿。而Hadoop每一步計(jì)算都是直接將結(jié)果存儲(chǔ)在磁盤(pán)中庇茫,后續(xù)的計(jì)算從磁盤(pán)重新讀取上次計(jì)算結(jié)果◇Τ桑基于內(nèi)存讀取數(shù)據(jù)的速度比磁盤(pán)讀取的速度高出兩個(gè)數(shù)量級(jí)旦签。
  • Spark在實(shí)際執(zhí)行任務(wù)前,將計(jì)算步驟根據(jù)依賴關(guān)系形成DAG圖(有向無(wú)環(huán)圖)寸宏,在執(zhí)行過(guò)程中就會(huì)根據(jù)DAG圖的順序來(lái)執(zhí)行顷霹,這個(gè)過(guò)程還會(huì)對(duì)DAG進(jìn)行計(jì)算路徑的優(yōu)化,大大減少了I/O讀取操作击吱。而Hadoop需要手動(dòng)或者借助Oozie等工具來(lái)處理這些步驟之間的關(guān)系淋淀。


    speed

易用性好(Ease of Use)

Spark支持Scala、Java覆醇、Python朵纷、R語(yǔ)言編寫(xiě)應(yīng)用程序。Scala本身是一種高效永脓、可擴(kuò)展的語(yǔ)言袍辞,能夠使用簡(jiǎn)介的代碼處理較為復(fù)雜的工作。比如下面的WordCount常摧,使用Hadoop需要幾十行代碼搅吁,而使用Scala只需要兩行威创。


easy

通用型強(qiáng)(generality)

Spark提供了一站式的大數(shù)據(jù)解決方案,生態(tài)圈BADS包含了:提供內(nèi)存計(jì)算框架的Spark Core谎懦、用于結(jié)構(gòu)化查詢的Spark SQL肚豺、用于實(shí)時(shí)計(jì)算的Spark Streaming、用于機(jī)器學(xué)習(xí)的MLlib界拦、用于圖計(jì)算的GraphX和用于數(shù)學(xué)計(jì)算的SparkR吸申。所以針對(duì)大數(shù)據(jù)處理的任何一場(chǎng)景,Spark都為你提供了相應(yīng)的組件享甸。


generality

隨處運(yùn)行(Runs Everywhere)

Spark提供了本地Local運(yùn)行模式截碴,用來(lái)學(xué)習(xí)和測(cè)試(當(dāng)然還有許多用途,比如我們正在做的一個(gè)項(xiàng)目就是基于Local模式的)蛉威,對(duì)于集群部署模式日丹,Spark能夠以YARN、Mesos和自身提供的Standalone作為資源管理調(diào)度框架來(lái)執(zhí)行作業(yè)蚯嫌。對(duì)于數(shù)據(jù)源哲虾,Spark能夠讀取HDFS、Cassandra齐帚、HBase妒牙、S3彼哼、Alluxio等數(shù)據(jù)源數(shù)據(jù)对妄。


everywhere

Spark歷史發(fā)展

Spark在2009年開(kāi)始編寫(xiě),在隨后的四年里在伯克利AMP實(shí)驗(yàn)室逐漸形成了現(xiàn)有Spark的雛形敢朱。在2013年6月成為Apache孵化項(xiàng)目剪菱,8個(gè)月后成為Apache頂級(jí)項(xiàng)目,隨后進(jìn)入了快速發(fā)展拴签。在2014年5月發(fā)布了1.0.0正式版本孝常,在隨后的時(shí)間里3到4個(gè)月發(fā)布一個(gè)小版本宜肉,在2016年7月推出了Spark2.0版本辱志,到現(xiàn)在Spark穩(wěn)定版為spark 2.4.0杂腰。


history

Spark生態(tài)系統(tǒng)

Spark BDAS以Spark Core分布式計(jì)算引擎為核心嚣潜,在Spark Core之上擴(kuò)展了用于結(jié)構(gòu)化查詢的Spark SQL瘫絮、用于實(shí)時(shí)數(shù)據(jù)處理的Spark Streaming抒蚜、用于機(jī)器學(xué)習(xí)的MLlib苍鲜、用于圖計(jì)算的GraphX和用于統(tǒng)計(jì)分析的SparkR等兄猩。


ecosystem

Spark Core

Spark Core是整個(gè)Spark生態(tài)體系的核心曹阔,是一個(gè)基于內(nèi)存的分布式計(jì)算引擎半开。Spark Core中定義了彈性分布式數(shù)據(jù)集RDD、資源管理赃份、任務(wù)調(diào)度寂拆、任務(wù)執(zhí)行奢米、內(nèi)存計(jì)算等核心功能。其中資源管理既可以使用Spark自身提供的Standalone資源管理器纠永,也可以使用第三方資源調(diào)度框架YARN鬓长、Mesos、Kubernetes等渺蒿。相比較而言痢士,第三方資源調(diào)度框架提供了更細(xì)粒度的資源管理。

Spark SQL

Spark SQL的前身是Shark茂装,當(dāng)時(shí)Hive幾乎是SQL on Hadoop(將SQL翻譯成MapReduce作業(yè))的唯一選擇怠蹂,鑒于Hive的性能以及Spark的兼容性,由此Shark而生少态。Shark就是Hive on Spark城侧,將Hive的HQL翻譯成Spark上的RDD,然后再通過(guò)Hive的Metadata(實(shí)際為HDFS上的數(shù)據(jù)和文件)獲取數(shù)據(jù)庫(kù)信息彼妻,最后交由Spark運(yùn)算嫌佑。
在2014年7月1日SparkSubmit峰會(huì)上,Databricks宣布終止Shark的開(kāi)發(fā)侨歉,轉(zhuǎn)而開(kāi)發(fā)自己的Spark SQL屋摇。因?yàn)镾hark本身是對(duì)Hive的改造,只是替換了Hive的物理執(zhí)行引擎幽邓,使之能夠快速運(yùn)行炮温。但是,Shark繼承了大量的Hive代碼牵舵,因此對(duì)于優(yōu)化和維護(hù)增加了成本柒啤,并且Hive本身基于MapReduce設(shè)計(jì)的,而這部分設(shè)計(jì)成為了整個(gè)項(xiàng)目的瓶頸畸颅。
Spark SQL能夠使SQL查詢和Spark編程(RDD担巩、Dataset、DataFrame)無(wú)縫混合没炒,并且提供了統(tǒng)一訪問(wèn)外部數(shù)據(jù)源的方式涛癌,包括:Hive、Avro送火、Parquet拳话、JSON、ORC和JDBC等漾脂。對(duì)于Hive的集成假颇,Spark SQL本身支持HiveQL語(yǔ)法以及Hive SerDes和UDF,允許你訪問(wèn)已有的Hive倉(cāng)庫(kù)骨稿。

Spark SQL特點(diǎn):

  • 引入了新的RDD類型:SchemaRDD笨鸡。這樣就可以像傳統(tǒng)數(shù)據(jù)庫(kù)一樣來(lái)定義SchemaRDD姜钳。SchemaRDD由定義了列數(shù)據(jù)類型的行對(duì)象組成,SchemRDD既可以從已有的RDD轉(zhuǎn)換而來(lái)形耗,還可以讀取從Parquet文件讀入哥桥,還可以同Hive中獲取。
  • 內(nèi)嵌了Catalyst查詢優(yōu)化器激涤。首先會(huì)把SQL語(yǔ)句解析成邏輯執(zhí)行計(jì)劃拟糕,然后利用Catalyst提供的一些類和接口,執(zhí)行一些簡(jiǎn)單的執(zhí)行計(jì)劃優(yōu)化倦踢,最后變成RDD的計(jì)算送滞。
  • 混合不同的數(shù)據(jù)源計(jì)算。比如可以將從Hive中獲取的數(shù)據(jù)辱挥,和從Parquet上獲取的數(shù)據(jù)進(jìn)行Join操作犁嗅。

Spark SQL在性能上也比Shark有很大提升,Spark SQL主要做了以下幾點(diǎn)優(yōu)化:

  • 內(nèi)存列存儲(chǔ)(In-Memory Columnar Storage):Spark SQL的表數(shù)據(jù)在內(nèi)存中存儲(chǔ)不是使用原生態(tài)的JVM對(duì)象存儲(chǔ)方式晤碘,而是采用內(nèi)存列存儲(chǔ)褂微。
  • 字節(jié)碼生成技術(shù)(Bytecode Generation):Spark 1.1.0在Catalyst模塊的Expressions增加了Codegen模塊,使用動(dòng)態(tài)字節(jié)碼生成技術(shù)园爷,對(duì)匹配的表達(dá)式采用特定的代碼動(dòng)態(tài)編譯宠蚂。另外對(duì)SQL表達(dá)式的也做了GC優(yōu)化。
  • Scala代碼優(yōu)化:Spark SQL在使用Scala編寫(xiě)代碼的時(shí)候童社,盡量避免了一些低效求厕、容易GC的代碼,雖然增加了編寫(xiě)代碼難度叠洗,但對(duì)于用戶來(lái)說(shuō)接口統(tǒng)一甘改。
Hive support

Spark SQL還對(duì)商業(yè)智能工具(BI)提供了JDBC和ODBC的標(biāo)準(zhǔn)支持旅东。


BI support

Spark Streaming

Spark Streaming可以輕松構(gòu)建高吞吐灭抑、可擴(kuò)展、高容錯(cuò)的流式應(yīng)用程序抵代。Spark Streaming可以支持多種數(shù)據(jù)源進(jìn)行類似Map腾节、Reduce、Join等復(fù)雜操作荤牍,然后將結(jié)果保存到外部系統(tǒng)案腺、數(shù)據(jù)庫(kù)或?qū)崟r(shí)儀表盤(pán)上。


Spark Streaming

MLlib

MLlib是Apache Spark提供的可擴(kuò)展機(jī)器學(xué)習(xí)庫(kù)康吵,提供了包括分類劈榨、聚類、回歸晦嵌、協(xié)同過(guò)濾等算法同辣,同時(shí)也包括了相關(guān)測(cè)試和數(shù)據(jù)生成器拷姿。

GraphX

GraphX是用來(lái)操作圖(比如社交網(wǎng)絡(luò)的朋友圈)的程序庫(kù),可以進(jìn)行并行的圖計(jì)算旱函。

其他

Spark生態(tài)體系還有許多框架比如SparkR响巢、BlinkDB、Alluxio等棒妨,這些在之后的學(xué)習(xí)中可以在做總結(jié)分享踪古。

Spark集群搭建

Spark部署可以分為L(zhǎng)ocal、standalone券腔、YARN伏穆、Mesos、Kubernetes(實(shí)驗(yàn)階段)這幾種部署模式纷纫。其中Local為本地部署模式蜈出,在單個(gè)機(jī)器上部署(也支持偽分布式),用來(lái)進(jìn)行實(shí)驗(yàn)涛酗、測(cè)試等铡原。其他幾種部署模式都屬于集群部署模式,standalone部署模式使用spark自帶的資源管理器進(jìn)行資源分配商叹,YARN燕刻、Mesos、Kubernetes等使用的是第三方資源管理框架剖笙。
這里講解是使用spark自帶的standalone部署模式部署卵洗,我們先來(lái)看下spark集群相關(guān)的概述。

集群模式概述

Spark應(yīng)用程序作為獨(dú)立的進(jìn)程在集群上運(yùn)行弥咪,由主程序(main)的SparkContext來(lái)協(xié)調(diào)應(yīng)用程序和集群过蹂。SparkContext能夠連接多種集群管理器(standalone、YARN聚至、Mesos等)酷勺,一旦連接上集群管理器,Spark就能夠獲取集群節(jié)點(diǎn)中的Executor扳躬。Executor是用來(lái)計(jì)算和存儲(chǔ)應(yīng)用程序的進(jìn)程脆诉,由集群中的Worker節(jié)點(diǎn)啟動(dòng)。當(dāng)?shù)玫皆搼?yīng)用程序的Executor后贷币,就會(huì)發(fā)送應(yīng)用程序代碼到Executor上击胜,最后SparkContext向executor發(fā)送需要運(yùn)行的task。


cluster

上面是集群應(yīng)用程序運(yùn)行的簡(jiǎn)單架構(gòu)役纹,對(duì)于這架構(gòu)需要有幾點(diǎn)說(shuō)明:

  • 每個(gè)應(yīng)用程序都有自己的Executor偶摔,每個(gè)Executor使用多個(gè)線程執(zhí)行task。這樣做有利于在調(diào)度端(每個(gè)驅(qū)動(dòng)程序調(diào)度自己的task)和執(zhí)行端(不同應(yīng)用程序的任務(wù)運(yùn)行在不同的JVM中)相互隔離應(yīng)用程序促脉。這樣做也導(dǎo)致不同應(yīng)用程序之間不能共享數(shù)據(jù)辰斋,但是你可以使用外部存儲(chǔ)系統(tǒng)來(lái)達(dá)到這個(gè)目的信不。
  • spark對(duì)于底層的集群管理器是未知的,無(wú)論使用什么集群管理器亡呵,spark只要獲取到Executor就能與其通信抽活。這樣集群管理器作為spark的一個(gè)插件,可以根據(jù)自己的需求使用不同的集群管理器锰什。
  • 應(yīng)用程序提交雖然可以使用客戶端和服務(wù)器模式下硕,但是無(wú)論什么模式都需要確保執(zhí)行應(yīng)用程序的節(jié)點(diǎn)能夠與其它work節(jié)點(diǎn)通信,因?yàn)轵?qū)動(dòng)任務(wù)調(diào)度器需要和executor通信汁胆。

Spark目前支持的集群管理器有:Standalone梭姓、Apache MesosHadoop YARN 嫩码、Kubernetes (experimental) 誉尖。

關(guān)鍵術(shù)語(yǔ)描述

術(shù)語(yǔ) 描述
Application 構(gòu)建在spark上的用戶程序,由集群上的驅(qū)動(dòng)程序(driver program)和執(zhí)行器(executor)組成铸题。
Application jar 包含spark應(yīng)用程序的jar包铡恕,應(yīng)用程序如果依賴其它應(yīng)用,需要將這些依賴也打到這個(gè)jar包中丢间。注意探熔,spark和hadoop相關(guān)依賴不需要打進(jìn)來(lái),在運(yùn)行時(shí)spark會(huì)自動(dòng)添加烘挫。
Driver program 運(yùn)行應(yīng)用程序的main()函數(shù)和創(chuàng)建SparkContext的進(jìn)程诀艰。
Cluster manager 用于獲取資源的外部服務(wù),可以是standalone饮六、YARN其垄、Mesos等。
Deploy model 驅(qū)動(dòng)程序運(yùn)行的位置卤橄。cluster模式下驅(qū)動(dòng)程序在集群內(nèi)部的節(jié)點(diǎn)執(zhí)行绿满,client模式下驅(qū)動(dòng)程序在用戶提交的集群外部節(jié)點(diǎn)上運(yùn)行。
Work node 集群中運(yùn)行應(yīng)用程序代碼的節(jié)點(diǎn)虽风。
Executor 為執(zhí)行應(yīng)用程序在Work節(jié)點(diǎn)上啟動(dòng)的進(jìn)程棒口,用于運(yùn)行task并將數(shù)據(jù)保存到磁盤(pán)或內(nèi)存中寄月。每個(gè)應(yīng)用程序都有自己的executors辜膝。
Task 一個(gè)任務(wù)工作單元,發(fā)送給executor執(zhí)行漾肮。
Job 由Spark執(zhí)行action RDD產(chǎn)生厂抖,由多個(gè)task組成用于并行計(jì)算。
Stage 每個(gè)Job由DAGScheduler劃分成多個(gè)Stage克懊,每個(gè)Stage包含一組task忱辅。

standalone集群安裝

安裝standalone模式七蜘,只需要在集群中的每個(gè)節(jié)點(diǎn)安裝Spark的編譯版本,你可以直接下載預(yù)編譯版本http://spark.apache.org/downloads.html墙懂,也可以下載源碼自己構(gòu)建http://spark.apache.org/docs/latest/building-spark.html橡卤。

部署環(huán)境

集群節(jié)點(diǎn)

節(jié)點(diǎn) 角色
192.168.0.1 Master、Worker
192.168.0.2 Work
192.168.0.3 Work

軟件版本

軟件 版本
JDK 1.8+
Scala 2.11+
Spark 2.4.0

spark下載

Spark預(yù)編譯版本和源代碼都可以從http://spark.apache.org/downloads.html 進(jìn)行下載损搬,根據(jù)自己的需求選擇相應(yīng)版本碧库,如果需要靈活控制對(duì)應(yīng)的hadoop、hive版本可以自己編譯源代碼巧勤。

wget http://mirror.bit.edu.cn/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz
tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz

編輯slave列表文件

在${SPARK_HOME}/conf目錄創(chuàng)建 slaves文件(目錄下已經(jīng)有了slaves.template嵌灰,可以直接復(fù)制或重命名),并且將需要運(yùn)行Work進(jìn)程節(jié)點(diǎn)的主機(jī)名稱(或IP)添加到給文件中颅悉。

cp conf/slaves.template conf/slaves
vim conf/slaves
#添加運(yùn)行Work服務(wù)的主機(jī)
192.168.0.1
192.168.0.2
192.168.0.3

配置集群

你可以對(duì)集群進(jìn)一步配置沽瞭,spark集群配置文件為conf/spark-env.sh,默認(rèn)conf目錄下有一個(gè)spark-env.sh.template剩瓶,你可以直接復(fù)制或重命名驹溃。

cp conf/spark-env.sh.template conf/spark-env.sh
vim spark-env.sh
#添加集群配置屬性
JAVA_HOME=${JAVA_HOME}          #指定jdk安裝路徑
SPARK_MASTER_HOST=192.168.0.1   #指定master節(jié)點(diǎn)主機(jī)名稱或IP
SPARK_MASTER_PORT=7077          #master后臺(tái)通信端口,默認(rèn)為7077
SPARK_MASTER_WEBUI_PORT=8080    #master web ui端口延曙,默認(rèn)為8080
SPARK_MASTER_OPTS=              #應(yīng)用于master的配置屬性吠架,可配置屬性查看下面列表,使用-Dx=y模式配置搂鲫,默認(rèn)為none
SPARK_LOCAL_DIR=/opt/spark/work-data #spark臨時(shí)目錄傍药,包含map輸出文件和存儲(chǔ)在磁盤(pán)上的RDD。該目錄應(yīng)該在本地快速的磁盤(pán)上魂仍,可以用逗號(hào)分割指定多個(gè)目錄拐辽。默認(rèn)為${SPARK_HOME}/work
SPARK_WORKER_CORES=2            #允許spark應(yīng)用程序使用本地機(jī)器的cpu數(shù),默認(rèn)為全部可用cpu數(shù)
SPARK_WORKER_MEMORY=1G          #允許spark應(yīng)用程序使用本地機(jī)器的內(nèi)存數(shù)擦酌,默認(rèn)全部最少為1G俱诸。如果要為應(yīng)用程序指定內(nèi)存,使用spark.executor.memory屬性赊舶。
SPARK_WORKER_PORT=7078          #work后臺(tái)通信端口睁搭,默認(rèn)隨機(jī)
SPARK_WORKER_WEBUI_PORT=8081    #work web ui端口,默認(rèn)為8081
SPARK_WORKER_DIR=/opt/spark/work-data #用于運(yùn)行應(yīng)用程序的目錄笼平,里面存儲(chǔ)日志和臨時(shí)空間使用园骆。默認(rèn)為${SPARK_HOME}/work
SPARK_WORKER_OPTS=              #應(yīng)用于work的配置屬性,可配置屬性查看下面列表寓调,使用-Dx=y模式配置锌唾,默認(rèn)為none
SPARK_DAEMON_MEMORY=1G          #分配給spark master和worker自身運(yùn)行的內(nèi)存。默認(rèn)為1g
SPARK_DAEMON_JAVA_OPTS=         #spark master和worker自身使用的JVM參數(shù),使用-Dx=y模式配置

SPARK_MASTER_OPTS可配置屬性:

屬性 默認(rèn)值 含義
spark.deploy.retainedApplications 200 顯示完成應(yīng)用程序的最大數(shù)量晌涕,超過(guò)該設(shè)置會(huì)把舊的應(yīng)用程序會(huì)從ui中刪除
spark.deploy.retainedDrivers 200 顯示完成驅(qū)動(dòng)程序的最大數(shù)量滋捶,超過(guò)該設(shè)置會(huì)把舊的驅(qū)動(dòng)程序會(huì)從ui中刪除
spark.deploy.spreadOut true standalone集群管理是否應(yīng)該跨節(jié)點(diǎn)分布應(yīng)用程序或者說(shuō)是否將應(yīng)用程序盡可能分布到少量節(jié)點(diǎn)上。對(duì)于HDFS中數(shù)據(jù)局部性來(lái)說(shuō)余黎,擴(kuò)展通常更好重窟,但是對(duì)于計(jì)算密集型的負(fù)載,整合到一起通常更有效惧财。
spark.deploy.defaultCores 無(wú)限 如果沒(méi)有設(shè)置spark.cores.max亲族,則為應(yīng)用程序提供最大的內(nèi)核數(shù)為該默認(rèn)值。如果都未設(shè)置可缚,應(yīng)用程序會(huì)盡可能的獲取所有內(nèi)核霎迫。對(duì)于共享集群來(lái)說(shuō),通常設(shè)置一個(gè)較低的值帘靡,防止用戶默認(rèn)使用全部cpu
spark.deploy.maxExecutorRetries 10 限制standalone集群管理器對(duì)于失敗的executor個(gè)數(shù)達(dá)到配置上限則進(jìn)行刪除知给,如果不配置,只要有一個(gè)executor正在運(yùn)行描姚,應(yīng)用程序就不會(huì)被刪除
spark.worker.timeout 60 master在規(guī)定時(shí)間內(nèi)沒(méi)有接受work心跳則認(rèn)為該work丟失涩赢,以s為單位

SPARK_WORKER_OPTS可以配置屬性:

屬性 默認(rèn)值 含義
spark.worker.cleanup.enabled false 啟動(dòng)定時(shí)清理woker/application目錄,只對(duì)standalone部署模式有影響轩勘。只有應(yīng)用程序停止后筒扒,才會(huì)定期刪除
spark.worker.cleanup.interval 1800 (30 minutes) 定時(shí)清除worker下舊的應(yīng)用程序工作目錄,以s為單位
spark.worker.cleanup.appDataTtl 604800 (7 days, 7 * 24 * 3600) 每個(gè)woker下保留應(yīng)用程序工作目錄的秒數(shù)(跟上一個(gè)區(qū)別還不清楚)
spark.worker.ui.compressedLogFileLengthCacheSize 100 設(shè)置壓縮日志文件緩存的大小

分發(fā)spark安裝

將安裝好的spark分發(fā)到各個(gè)slave節(jié)點(diǎn)绊寻。

scp -r spark-2.2.0-bin-hadoop2.7 yangjianzhang@192.168.0.2:/home/yangjianzhang/server/spark/
scp -r spark-2.2.0-bin-hadoop2.7 yangjianzhang@192.168.0.3:/home/yangjianzhang/server/spark/

啟動(dòng)服務(wù)

spark啟動(dòng)腳本在${SPARK_HOME}/sbin目錄下花墩,包含了master和slave相關(guān)的啟動(dòng)、停止腳本澄步。如果我們要啟動(dòng)所有slave(conf/slaves配置的)冰蘑,使用start-slaves.sh腳本。如果啟動(dòng)本機(jī)slave村缸,則使用start-slave.sh <master-spark-URL>

sbin/start-master.sh #啟動(dòng)master服務(wù)
sbin/start-slaves.sh #啟動(dòng)slave服務(wù)

訪問(wèn)UI頁(yè)面

master UI地址為:http://master:8080/
worker UI地址為:http://worker:8081/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祠肥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子梯皿,更是在濱河造成了極大的恐慌仇箱,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件东羹,死亡現(xiàn)場(chǎng)離奇詭異剂桥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)百姓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)渊额,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人垒拢,你說(shuō)我怎么就攤上這事旬迹。” “怎么了求类?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵奔垦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我尸疆,道長(zhǎng)椿猎,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任寿弱,我火速辦了婚禮犯眠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘症革。我一直安慰自己筐咧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布噪矛。 她就那樣靜靜地躺著量蕊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艇挨。 梳的紋絲不亂的頭發(fā)上残炮,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音缩滨,去河邊找鬼势就。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脉漏,可吹牛的內(nèi)容都是我干的蛋勺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鸠删,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抱完!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起刃泡,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤巧娱,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后烘贴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體禁添,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年桨踪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了老翘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铺峭,靈堂內(nèi)的尸體忽然破棺而出墓怀,到底是詐尸還是另有隱情,我是刑警寧澤卫键,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布傀履,位于F島的核電站,受9級(jí)特大地震影響莉炉,放射性物質(zhì)發(fā)生泄漏钓账。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一絮宁、第九天 我趴在偏房一處隱蔽的房頂上張望梆暮。 院中可真熱鬧,春花似錦绍昂、人聲如沸啦粹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卖陵。三九已至,卻和暖如春张峰,著一層夾襖步出監(jiān)牢的瞬間泪蔫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工喘批, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撩荣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓饶深,卻偏偏與公主長(zhǎng)得像餐曹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子敌厘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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