国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02)

這篇具有很好參考價值的文章主要介紹了Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

每日一句正能量

人生就像賽跑,不在乎你是否第一個到達(dá)盡頭,而在乎你有沒有跑完全程。

章節(jié)概要

Spark于2009年誕生于美國加州大學(xué)伯克利分校的AMP實驗室,它是一個可應(yīng)用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎。Spark不僅計算速度快,而且內(nèi)置了豐富的API,使得我們能夠更加容易編寫程序。

2.2 搭建Spark開發(fā)環(huán)境

請參考《Hadoop大數(shù)據(jù)技術(shù)與應(yīng)用》完成Hadoop集群構(gòu)建?;蛘呖次抑暗牟┛鸵残小?/p>

  • Hadoop集群部署和啟動與關(guān)閉

搭建Spark環(huán)境是開展Spark編程的基礎(chǔ),在深入學(xué)習(xí)Spark編程之 前,我們需要的先搭建Spark開發(fā)環(huán)境。

2.2.1 環(huán)境準(zhǔn)備

由于Spark僅僅是一種計算框架,不負(fù)責(zé)數(shù)據(jù)的存儲和管理,因此,通常都會將Spark和Hadoop進(jìn)行統(tǒng)一部署,由Hadoop中的HDFS、HBase等組件負(fù)責(zé)數(shù)據(jù)的存儲管理,Spark負(fù)責(zé)數(shù)據(jù)計算。

安裝Spark集群前,需要安裝Hadoop環(huán)境,本教材采用如下配置環(huán)境。

Linux系統(tǒng):CentOS_6.7版本
Hadoop:2.7.4版本
JDK:1.8版本
Spark:2.3.2版本

2.2.2 Spark的部署方式

Spark部署模式分為Local模式(本地單機(jī)模式)和集群模式,在Local模式下, 常用于本地開發(fā)程序與測試,而集群模式又分為Standalone模式(集群單機(jī)模式)、 Yarn模式和Mesos模式,關(guān)于這三種集群模式的相關(guān)介紹具體如下:

  1. Standalone模式

    • Standalone模式被稱為集群單機(jī)模式
    • 在該模式下,Spark集群架構(gòu)為主從模式,即一臺Master節(jié)點與多臺Slave節(jié)點,Slave節(jié)點啟動的進(jìn)程名稱為Worker。(主節(jié)點只有一個,所以存在單點故障問題,要搭建高可用的Spark集群)
  2. Mesos模式

    • Mesos模式被稱為Spark on Mesos模式。
    • Mesos是一款資源調(diào)度管理系統(tǒng),為Spark提供服務(wù),由于Spark與Mesos存在密切的關(guān)系,因此在設(shè)計Spark框架時充分考慮到對Mesos的集成。但如果你同時運(yùn)行Hadoop和Spark,從兼容性的角度來看,Spark on Yarn是更好的選擇。
  3. Yarn模式

    • Yarn模式被稱為Spark on Yarn模式,即把Spark作為一個客戶端,將作業(yè)提交給Yarn服務(wù)。
    • 由于在生產(chǎn)環(huán)境中,很多時候都要與Hadoop使用同一個集群,因此采用Yarn來管理資源調(diào)度,可以提高資源利用率。

Yarn模式又分為Yarn Cluster模式和Yarn Client模式,具體介紹如下:

  • Yarn Cluster: 用于生產(chǎn)環(huán)境,所有的資源調(diào)度和計算都在集群上運(yùn)行。
  • Yarn Client: 用于交互、調(diào)試環(huán)境。

2.2.3 Spark集群安裝部署

  • 本書將在Standalone模式下,進(jìn)行Spark集群的安裝部署。
  • 規(guī)劃的Spark集群包含一臺Master節(jié)點和兩臺Slave節(jié)點。其中,主機(jī)名hadoop01是Master節(jié)點,hadoop02和hadoop03是Slave節(jié)點。如下圖所示:
    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
一、Spark下載
  1. 下載Spark安裝包
  • 下載地址
    下載地址可以在百度中直接搜索或者參看我之前的博客。
    • 大數(shù)據(jù)相關(guān)常用軟件下載地址集錦

進(jìn)入后來到Spark的官網(wǎng),點擊【Download】就可以打開下載界面:https://spark.apache.org/downloads.html。
Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
Spark安裝包的下載頁面如下圖所示:
Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
可以將頁面向下拉,找到【Spark release archives】點擊進(jìn)去找歷史版本下載。
Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記

二、Spark安裝
  1. 解壓Spark安裝包
    首先將下載的spark-2.3.2-bin-hadoop2.7.tgz安裝包上傳到主節(jié)點hadoop01的/export/software目錄下,然后解壓到/export/servers/目錄,解壓命令如下。

$ tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C /export/servers/

注:命令前面的 $ 符號表示當(dāng)前用戶的命令行提示符。它通常出現(xiàn)在命令的開頭,表示這是一條需要在命令行中運(yùn)行的命令。執(zhí)行命令時不需要加上這個符號,否則會報錯。

為了便于后面操作,我們使用mv命令將Spark的目錄重命名為spark,命令如下。
mv spark-2.3.2-bin-hadoop2.7/ spark

  1. 修改配置文件
    (1)進(jìn)入spark/conf目錄修改Spark的配置文件spark-env.sh,將spark-env.sh.template配置模板文件復(fù)制一份并命名為spark-env.sh,具體命令如下。
    cp spark-env.sh.template spark-env.sh

(2)修改spark-env.sh文件,在該文件添加以下內(nèi)容:

#配置java環(huán)境變量
export JAVA_HOME=/export/servers/jdk
#指定Master的IP
export SPARK_MASTER_HOST=hadoop01
#指定Master的端口 
export SPARK_MASTER_PORT=7077

上述添加的配置參數(shù)主要包括JDK環(huán)境變量、Master節(jié)點的IP地址和Master端口號,由于當(dāng)前節(jié)點服務(wù)器已經(jīng)在/etc/hosts文件中配置了IP和主機(jī)名的映射關(guān)系,因此可以直接填寫主機(jī)名。

(3)復(fù)制slaves.template文件,并重命名為slaves 。具體命令如下。
cp slaves.template slaves

(4)修改spark-env.sh文件,在該文件添加以下內(nèi)容:通過“vi slaves”命令編輯slaves配置文件,主要是指定Spark集群中的從節(jié)點IP,由于在hosts文件中已經(jīng)配置了IP和主機(jī)名的映射關(guān)系,因此直接使用主機(jī)名代替IP,添加內(nèi)容如下。

hadoop02
hadoop03
  1. 分發(fā)文件
    修改完成配置文件后,將spark目錄分發(fā)至hadoop02和hadoop03節(jié)點 。命令如下。
$ scp -r /export/servers/spark/ hadoop02:/export/servers/
$ scp -r /export/servers/spark/ hadoop03:/export/servers/
三、環(huán)境變量配置

為了在任何路徑下可以執(zhí)行Spark腳本程序,可以通過執(zhí)行“vi /etc/profile’命令編輯 .bashrc或者 profile文件,并在文件中配置Spark環(huán)境變量即可。文件中添加以下內(nèi)容:

export SPARK_HOME=/export/servers/spark
export PATH=$PATH:$SPARK_HOME/bin

至此,Spark集群配置完成了 。

  1. 啟動Spark集群
    Spark集群的啟動方式和啟動Hadoop集群方式類似,直接使用spark/sbin/start- al.sh腳本即可,在spark根目錄下執(zhí)行下列命令:
    $ sbin/start-all.sh
    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
    可以看到集群進(jìn)程被啟動了。
    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記
    訪問Spark管理界面http://hadoop01:8080來查看集群狀態(tài)(主節(jié)點), Spark集群管理界面如下圖所示。
    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02),# Spark大數(shù)據(jù)分析與實戰(zhàn),spark,數(shù)據(jù)分析,筆記

2.2.4 Spark HA集群部署

Spark Standalone集群是主從架構(gòu)的集群模式,由于存在單點故障問題,解決這個問題需要用到Zookeeper服務(wù),其基本原理是將Standalone集群連接到同一個Zookeeper實例并啟動多個Master節(jié)點,利用Zookeeper提供的選舉和狀態(tài)保存功能,可以使一臺Master節(jié)點被選舉,另一臺Master節(jié)點處于Standby狀態(tài)。當(dāng)活躍的Master發(fā)生故障時,Standby狀態(tài)的Master就會被激活,恢復(fù)集群調(diào)度,整個恢復(fù)的過程可能需要1-2分鐘。

一、集群部署

1.啟動Zookeeper集群服務(wù)。命令如下:
zkServer.sh start

Zookeeper集群服務(wù)之前已經(jīng)帶著同學(xué)們搭建過了,還不會或者還沒搭建的同學(xué)去看看之前的文章。

  • ZooKeeper的集群部署和啟動與關(guān)閉

下面是Zookeeper的核心配置文件zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/data/zookeeper /zkdata
clientPort=2181

server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

2.在spark-env.sh配置文件中注釋Master節(jié)點的配置參數(shù),并指定Spark使用Zookeeper管理。

#指定Master的IP
#export SPARK_MASTER_HOST=hadoop01
#指定Master的端口
export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=hadoop01:2181,hadoop02:2181,hadoop03:2181
-Dspark.deploy.zookeeper.dir=/spark"

關(guān)于上述參數(shù)的具體說明如下所示:

  • “#”,表示注釋當(dāng)前行
  • spark.deploy.recoveryMode:設(shè)置Zookeeper去啟動備用Master模式。
  • spark.deploy.zookeeper.url:指定ZooKeeper的Server地址。
  • spark.deploy.zookeeper.dir:保存集群元數(shù)據(jù)信息的文件、目錄。

配置完成后,將spark-env.sh分發(fā)至hadoop02、hadoop03節(jié)點上,保證配置文件統(tǒng)一,命令如下。

scp spark-env.sh hadoop02:/ekport/servers/spark/conf
scp spark-env.sh hadoop03:/export/servers/spark/conf
二、運(yùn)行測試

3.在hadoop01主節(jié)點啟動Spark集群,在hadoop02節(jié)點再次啟動Master服務(wù)。

在hadoop01主節(jié)點使用—鍵啟動腳本啟動,命令如下:
/export/servers/spark/sbin/start-all.sh

在hadoop02節(jié)點再次啟動Master服務(wù),命令如下:
/export/servers/spark/sbin/start-master.sh

啟動成功后,通過瀏覽器訪問http://hadoop02:8080,查看備用Master節(jié)點狀態(tài),可以發(fā)現(xiàn)status狀態(tài)為STANDBY。主節(jié)點status狀態(tài)為ALIVE。

4.關(guān)閉hadoop01節(jié)點中的Master進(jìn)程,測試Spark HA集群。

Spark HA集群啟動完畢后,為了演示是否解決了單點故障問題,可以關(guān)閉在hadoopo1節(jié)點中的Master進(jìn)程,用來模擬在生產(chǎn)環(huán)境中hadoop01突然宕機(jī),命令如下所示。

/export/servers/spark/sbin/stop-master.sh

執(zhí)行命令后,通過瀏覽器查看http://hadoop01:8080,發(fā)現(xiàn)已經(jīng)無法通過hadoop001節(jié)點訪問Spark集群管理界面。大約經(jīng)過1-2分鐘后,刷新 http://hadoop02:8080頁面,可以發(fā)現(xiàn)hadoop02節(jié)點中的Status值更改為ALIVE,Spark集群恢復(fù)正常,說明Spark HA配置有效解決了單點故障問題。

三、多學(xué)一招
  • 腳本啟動Zookeeper集群
    在集群中啟動Zookeeper服務(wù)時,需要依次在三臺服務(wù)器上執(zhí)行啟動命令,然而在實際工作應(yīng)用中,集群數(shù)量并非3臺,當(dāng)遇到數(shù)十臺甚至更多的服務(wù)器時,就不得不編寫腳本來啟動服務(wù)了,編寫腳本的語言有多種,這里采用Shelli語言開發(fā)一鍵啟動Zookeeper服務(wù)腳本, 使用命令vi start_zk.sh創(chuàng)建start_zk.sh文件,內(nèi)容如下:
#!/bin/sh
for host in hadoop01 hadoop02 hadoop03
do
	ssh $host "source /etc/profile;zkServer.sh start"
	echo "$host zk is running"
done

執(zhí)行該文件只需要輸入"start_zk.sh" 即可啟動集群中的Zookeeper服務(wù)。

轉(zhuǎn)載自:https://blog.csdn.net/u014727709/article/details/132130729
歡迎 ??點贊?評論?收藏,歡迎指正文章來源地址http://www.zghlxwxcb.cn/news/detail-774162.html

到了這里,關(guān)于Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第二章 Spark基礎(chǔ)-02)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • NanoEdge AI Studio 教程 第二章--異常數(shù)據(jù)分析

    NanoEdge AI Studio 教程 第二章--異常數(shù)據(jù)分析

    OK,好久不見,各位,最近挺忙,歡迎回來。 讓我們開始第二章節(jié),異常判斷。 目錄 一 Nano Edge AI Studio 簡單概述 二 異常判斷 1.工程選擇 2.進(jìn)行工程設(shè)置 2.1 MCU選擇 2.2 數(shù)據(jù)設(shè)定 3.輸入數(shù)據(jù) 4.模型訓(xùn)練 5.驗證 6.生成模型 7.布置模型 NanoEdge AI Studio主要可以實現(xiàn)的功能主要分為四

    2024年04月17日
    瀏覽(24)
  • 從零開始學(xué)數(shù)據(jù)分析之——《線性代數(shù)》第二章 矩陣

    從零開始學(xué)數(shù)據(jù)分析之——《線性代數(shù)》第二章 矩陣

    元素全為實數(shù)的矩陣稱為實矩陣 ?元素全為負(fù)數(shù)的矩陣稱為復(fù)矩陣 只有一行(列)的矩陣稱為行(列)矩陣 元素全為零的矩陣稱為零矩陣 行數(shù)和列數(shù)都等于n的矩陣稱為n階矩陣或n階方陣 主對角線元素全為1,其余元素全為0的矩陣稱為單位矩陣,記作E或I 兩個矩陣行數(shù)和列數(shù)

    2023年04月23日
    瀏覽(24)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    人生很長,不必慌張。你未長大,我要擔(dān)當(dāng)。 傳統(tǒng)的MapReduce雖然具有自動容錯、平衡負(fù)載和可拓展性的優(yōu)點,但是其最大缺點是采用非循環(huán)式的數(shù)據(jù)流模型,使得在迭代計算式要進(jìn)行大量的磁盤IO操作。Spark中的RDD可以很好的解決這一缺點。 RDD是Spark提供的最重要的抽象概念

    2024年02月22日
    瀏覽(372)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-3)

    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-3)

    對于每一門編程語言來說,數(shù)組(Array)都是重要的數(shù)據(jù)結(jié)構(gòu)之一,主要用來存儲數(shù)據(jù)類型相同的元素。Scala中的數(shù)組分為定長數(shù)組和變長數(shù)組,定義定長數(shù)組,需要使用new,而定義變長數(shù)組時,則需要導(dǎo)包 import scala.collection.mutable.ArrayBuffer 。 數(shù)組(Array)主要用來存儲

    2024年02月10日
    瀏覽(84)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-1)

    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-1)

    Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎,它是由Scala語言開發(fā)實現(xiàn)的,關(guān)于大數(shù)據(jù)技術(shù),本身就是計算數(shù)據(jù),而Scala既有面向?qū)ο蠼M織項目工程的能力,又具備計算數(shù)據(jù)的功能,同時Spark和Scala的緊密集成,本書將采用Scala語言開發(fā)Spark程序,所以學(xué)好Scala將有助

    2024年02月11日
    瀏覽(102)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-2)

    Spark大數(shù)據(jù)分析與實戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-2)

    Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎,它是由Scala語言開發(fā)實現(xiàn)的,關(guān)于大數(shù)據(jù)技術(shù),本身就是計算數(shù)據(jù),而Scala既有面向?qū)ο蠼M織項目工程的能力,又具備計算數(shù)據(jù)的功能,同時Spark和Scala的緊密集成,本書將采用Scala語言開發(fā)Spark程序,所以學(xué)好Scala將有助

    2024年02月11日
    瀏覽(91)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)課后答案

    一、填空題 1、Scala語言的特性包含 面向?qū)ο缶幊?、函數(shù)式編程的、 靜態(tài)類型的 、可擴(kuò)展的、 可以交互操作的 。 2、在Scala數(shù)據(jù)類型層級結(jié)構(gòu)的底部有兩個數(shù)據(jù)類型,分別是 Nothing 和 Null 。 3、在Scala中,聲明變量的有 var 聲明變量和 val 聲明常量。 4、在Scala中,獲取

    2024年01月17日
    瀏覽(95)
  • 企業(yè)Spark案例--酒店數(shù)據(jù)分析實戰(zhàn)提交

    第1關(guān):數(shù)據(jù)清洗--過濾字段長度不足的且將出生日期轉(zhuǎn): package?com.yy ? import?org.apache.spark.rdd.RDD import?org.apache.spark.sql.{DataFrame,?Dataset,?SparkSession} object?edu{ ????/**********Begin**********/ ????//?此處可填寫相關(guān)代碼 ????case?class?Person(id:String,Name:String,CtfTp:String,CtfId:String,G

    2024年02月09日
    瀏覽(110)
  • Spark大數(shù)據(jù)分析與實戰(zhàn)課后習(xí)題參考答案

    項目一: 一、選擇題 DCCDAD 二、簡答題 1、Hadoop MapReduce要求每個步驟間的數(shù)據(jù)序列化到磁盤,所以I/O成本很高,導(dǎo)致交互分析和迭代算法開銷很大;Spark 提供了內(nèi)存計算,把中間結(jié)果放到內(nèi)存中,帶來了更高的迭代運(yùn)算效率。通過支持有向無環(huán)圖(DAG)的分布式并行計算的編

    2024年02月11日
    瀏覽(23)
  • 大數(shù)據(jù)實戰(zhàn)(hadoop+spark+python):淘寶電商數(shù)據(jù)分析

    大數(shù)據(jù)實戰(zhàn)(hadoop+spark+python):淘寶電商數(shù)據(jù)分析

    虛擬機(jī):Ubuntu 20.04.6 LTS docker容器 hadoop-3.3.4 spark-3.3.2-bin-hadoop3 python,pyspark, pandas,matplotlib mysql,mysql-connector-j-8.0.32.jar(下載不需要積分什么的) 淘寶用戶數(shù)據(jù) 以上的技術(shù)積累需要自行完成 創(chuàng)建容器(##ubuntu的代碼塊,在ubuntu中運(yùn)行,無特殊說明的在docker中運(yùn)行) 更新軟件

    2024年02月11日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包