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)系淋淀。
易用性好(Ease of Use)
Spark支持Scala、Java覆醇、Python朵纷、R語(yǔ)言編寫(xiě)應(yīng)用程序。Scala本身是一種高效永脓、可擴(kuò)展的語(yǔ)言袍辞,能夠使用簡(jiǎn)介的代碼處理較為復(fù)雜的工作。比如下面的WordCount常摧,使用Hadoop需要幾十行代碼搅吁,而使用Scala只需要兩行威创。
通用型強(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)的組件享甸。
隨處運(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ù)对妄。
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杂腰。
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等兄猩。
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)一甘改。
Spark SQL還對(duì)商業(yè)智能工具(BI)提供了JDBC和ODBC的標(biāo)準(zhǔn)支持旅东。
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)上。
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。
上面是集群應(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 Mesos 、Hadoop 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/