柚子快報邀請碼778899分享:大數(shù)據(jù) Spark.第二周
柚子快報邀請碼778899分享:大數(shù)據(jù) Spark.第二周
一.介紹Hadoop生態(tài)圈相關(guān)組件
?
Hadoop生態(tài)圈是圍繞Hadoop構(gòu)建的一系列開源軟件組件和工具,用于處理大數(shù)據(jù)的存儲、處理、管理和分析。以下是Hadoop生態(tài)圈中一些常見的組件:
1. HDFS(Hadoop分布式文件系統(tǒng)):用于存儲大規(guī)模數(shù)據(jù)的分布式文件系統(tǒng),提供高容錯性和高可靠性。
2. MapReduce:Hadoop的計算框架,用于并行處理大規(guī)模數(shù)據(jù)集。
? ? ?3. YARN(Yet Another Resource Negotiator):Hadoop的集群資源管理器,用于管理和調(diào)度集群上的資源。
? ? ? ? 4. Hive:基于Hadoop的數(shù)據(jù)倉庫基礎(chǔ)設(shè)施,提供類SQL查詢語言(HiveQL)來進行數(shù)據(jù)分析和查詢。
5. Pig:用于大規(guī)模數(shù)據(jù)分析的高級編程語言和平臺,可以將復(fù)雜的數(shù)據(jù)處理流程轉(zhuǎn)化為簡單的腳本。
6. HBase:分布式、可擴展的列式數(shù)據(jù)庫,適用于大規(guī)模結(jié)構(gòu)化數(shù)據(jù)的實時讀寫操作。
7. ZooKeeper:用于分布式應(yīng)用程序的協(xié)調(diào)服務(wù),提供配置管理、命名服務(wù)、分布式同步和組服務(wù)等功能。
? ? ? ?8. Spark:高速大數(shù)據(jù)處理框架,支持內(nèi)存計算和更廣泛的數(shù)據(jù)處理模型,比傳統(tǒng)的MapReduce更快速。
9. Kafka:高吞吐量的分布式消息系統(tǒng),用于發(fā)布和訂閱流數(shù)據(jù)。
10. Flume:用于可靠地收集、聚合和移動大規(guī)模日志和事件數(shù)據(jù)的分布式系統(tǒng)。
11. Storm:用于處理實時流數(shù)據(jù)的分布式計算系統(tǒng),提供容錯性和可擴展性。
12. Sqoop:用于在Hadoop和關(guān)系型數(shù)據(jù)庫之間進行數(shù)據(jù)傳輸?shù)墓ぞ摺?/p>
13. Oozie:用于協(xié)調(diào)和管理Hadoop作業(yè)流程的工作流調(diào)度系統(tǒng)。
? ? ? ? 14. Mahout:用于實現(xiàn)大規(guī)模機器學(xué)習(xí)和數(shù)據(jù)挖掘的庫。
15. Zeppelin:交互式數(shù)據(jù)分析和可視化的Web界面,支持多種數(shù)據(jù)處理引擎。
?
?
二.詳細(xì)介紹MapReduce的特點及運行架構(gòu)
MapReduce是一個分布式運算程序的編程框架,主要用于開發(fā)基于Hadoop的數(shù)據(jù)分析應(yīng)用。它的核心功能是將用戶編寫的業(yè)務(wù)邏輯代碼和自帶默認(rèn)組件整合成一個完整的分布式運算程序,并能在Hadoop集群上并行運行。MapReduce的設(shè)計初衷是使程序能夠部署在廉價的PC機器上,因此它具有很高的容錯性,即使其中一臺機器掛掉,也能將計算任務(wù)轉(zhuǎn)移到其他節(jié)點上執(zhí)行,無需人工干預(yù)。
MapReduce的特點包括:
1.易于編程:用戶可以通過實現(xiàn)簡單的接口來完成一個分布式程序,這個程序可以分布到大量廉價的PC機器上運行。
2.良好的擴展性:當(dāng)計算資源不能滿足需求時,可以通過添加機器來擴展計算能力。
3.高容錯性:設(shè)計上要求程序能夠在廉價PC機器上運行,并具有很高的容錯能力,能夠自動處理節(jié)點故障。
4.適合PB級以上海量數(shù)據(jù)的離線處理:能夠?qū)崿F(xiàn)上千臺服務(wù)器集群并發(fā)工作,提供強大的數(shù)據(jù)處理能力。
然而,MapReduce也有其局限性:
? ? ? ? ? ? 不擅長實時計算:無法像MySQL那樣在毫秒或秒級內(nèi)返回結(jié)果。 ? ? ? ? ? ? 不擅長流式計算:輸入數(shù)據(jù)必須是靜態(tài)的,而流式計算的輸入數(shù)據(jù)是動態(tài)的。 ? ? ? ? ? ? 不擅長DAG(有向無環(huán)圖)計算:在多個應(yīng)用程序存在依賴關(guān)系的情況下,MapReduce的性能可能會因為每個作業(yè)的輸出結(jié)果寫入磁盤而降低。
MapReduce的運行架構(gòu)采用Master/Slave架構(gòu),其中Master負(fù)責(zé)整個作業(yè)的調(diào)度和管理,而Slave節(jié)點則執(zhí)行實際的Map和Reduce任務(wù)。這種架構(gòu)使得MapReduce能夠高效地處理大規(guī)模數(shù)據(jù)集。
?
?
?
三.詳細(xì)介紹spark的特點,并與MapReduce作對比說明區(qū)別
1.spark的特點
(1)運行速度快,如果數(shù)據(jù)由磁盤讀取,速度是hadoop mapreduce的10倍以上,如果數(shù)據(jù)從內(nèi)存讀取,速度是hadoop mapreduce的100倍以上。主要原因是因為基于內(nèi)存計算和引入DAG執(zhí)行引擎。
(2)易用性好,spark不僅支持scala編程呢個,還支持java和python編寫。
(3)通用性好
(4)隨處運行
2.spark和mapreduce的比較
(1)spark把中間數(shù)據(jù)放在內(nèi)存中,迭代運算效率高。mapreduce中的計算結(jié)果保存在磁盤上,而spark支持DAG圖的分布式并行計算的編程框架,減少了迭代過程中數(shù)據(jù)的落地,提高了處理效率。
(2)spark容錯性高。引進了RDD,如果數(shù)據(jù)集一部分丟失,則可以重建。另外,在RDD計算時可以通過checkpoint來實現(xiàn)容錯。
(3)spark更加通用。不像hadoop只提供map和reduce兩種操作。spark提供的數(shù)據(jù)集操作類型有很多種,大致分為轉(zhuǎn)換操作和行動操作。轉(zhuǎn)換操作包括
map,filter,flatmap,sample,groupbykey,reducebykey,union,join,cogroup,mapvalues,sort和partionby等多種操作類型,行動操作包括collect,reduce,lookup和save等操作類型。另外,各個處理節(jié)點之間的通信模型不再像Hadoop只有shuffle一種模式,用戶可以命名,物化,控制中間結(jié)果的存儲,分區(qū)等。
?
?
四.熟練掌握Linux操作命令并演示說明
一、基本操作命令
首先先來幾個熱鍵,非常方便,一定要記住
?
Tab按鍵—命令補齊功能
?
Ctrl+c按鍵—停掉正在運行的程序
?
Ctrl+d按鍵—相當(dāng)于exit,退出
?
Ctrl+l按鍵—清屏
?
1.1 關(guān)機和重啟
1.關(guān)機命令:shutdown
?
在linux領(lǐng)域內(nèi)大多用在服務(wù)器上,很少遇到關(guān)機的操作。畢竟服務(wù)器上跑一個服務(wù)是永無止境的,除非特殊情況下,不得已才會關(guān)機。
?
正確的關(guān)機流程為:sync > shutdown > reboot > halt
?
例如你可以運行如下命令關(guān)機:
1? ?sync 將數(shù)據(jù)由內(nèi)存同步到硬盤中。shutdown 關(guān)機指令
2? ?shutdown –h 20:25 系統(tǒng)會在今天20:25關(guān)機??
3? ?shutdown –h +10 十分鐘后關(guān)機??
4? ?shutdown –r now 系統(tǒng)立馬重啟??
5? ?shutdown –r +10 系統(tǒng)十分鐘后重啟??
6? ?reboot 就是重啟,等同于 shutdown –r now??
7? ?halt 關(guān)閉系統(tǒng),等同于shutdown –h now 和 poweroff
下面是一個簡單的樣例。
?取消定時關(guān)機命令:shutdown -c
?
最后總結(jié)一下,不管是重啟系統(tǒng)還是關(guān)閉系統(tǒng),首先要運行 sync 命令,把內(nèi)存中的數(shù)據(jù)寫到磁盤中。
?
關(guān)機的命令有 shutdown –h now halt poweroff 和 init 0 , 重啟系統(tǒng)的命令有 shutdown –r now reboot init 6。
?
2.重啟命令:reboot
?1.2 幫助命令
?
–-help命令
?
shutdown --help:ifconfig --help:查看網(wǎng)卡信息
二、目錄操作命令
我們知道Linux的目錄結(jié)構(gòu)為樹狀結(jié)構(gòu),最頂級的目錄為根目錄 /。
?
其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。
?
首先我們需要先知道什么是絕對路徑與相對路徑。
?
絕對路徑:
路徑的寫法,由根目錄 / 寫起,例如:/usr/share/doc 這個目錄。
?
相對路徑:
路徑的寫法,不是由 / 寫起,例如由/usr/share/doc 要到 /usr/share/man 底下時,可以寫成:cd ../man 這就是相對路徑的寫法。
2.1 目錄切換 cd 命令:cd 目錄
cd是Change Directory的縮寫,這是用來變換工作目錄的命令。
1? ? cd / ? ? ? ?切換到根目錄 ? 2? ? cd /usr ? ? ? ?切換到根目錄下的usr目錄 ? 3? ? cd ../ ? ? ? ?切換到上一級目錄 或者 ?cd .. ? 4? ? cd ~ ? ? ? ?切換到home目錄 ? 5? ? cd - ? ? ? ?切換到上次訪問的目錄
2.2 目錄查看 ls [-al] 命令:ls [-al]
語法:
1? ?ls [-aAdfFhilnrRSt] 目錄名稱 ? 2? ?ls [--color={never,auto,always}] 目錄名稱 ? 3? ?ls [--full-time] 目錄名稱
ls 查看當(dāng)前目錄下的所有目錄和文件 ls -a 查看當(dāng)前目錄下的所有目錄和文件(包括隱藏的文件) ls -l 或 ll 列表查看當(dāng)前目錄下的所有目錄和文件(列表查看,顯示更多信息) ls /dir 查看指定目錄下的所有目錄和文件 如:ls /usr
將家目錄下的所有文件列出來(含屬性與隱藏檔)
?
?
?
?
五、冷備、溫備、熱備
按備份系統(tǒng)的準(zhǔn)備程度,可將其分為冷備份、溫備份和熱備份三大類 。
?
1、冷備份 : 備份系統(tǒng)未安裝或未配置成與當(dāng)前使用的系統(tǒng)相同或相似的運行環(huán)境,應(yīng)用系統(tǒng)數(shù)據(jù)沒有及時裝入備份系統(tǒng)。一旦發(fā)生災(zāi)難,需安裝配置所需的運行環(huán)境,用數(shù)據(jù)備份介質(zhì)(磁帶或光盤) 恢復(fù)應(yīng)用數(shù)據(jù),手工逐筆或自動批量追補孤立數(shù)據(jù),將終端用戶通過通訊線路切換到備份系統(tǒng),恢復(fù)業(yè)務(wù)運行。
? ? ?優(yōu)點 : 設(shè)備投資較少,節(jié)省通信費用,通信環(huán)境要求不高
? ? ?缺點 : 恢復(fù)時間較長,一般要數(shù)天至1周,數(shù)據(jù)完整性與一致性較差
?
2、溫備份 : 將備份系統(tǒng)已安裝配置成與當(dāng)前使用的系統(tǒng)相同或相似的系統(tǒng)和網(wǎng)絡(luò)運行環(huán)境,安裝應(yīng)用系統(tǒng)業(yè)務(wù)定期備份數(shù)據(jù)。一旦發(fā)生災(zāi)難,直接使用定期備份數(shù)據(jù),手工逐筆或自動批量追補孤立數(shù)據(jù)或?qū)⒔K端用戶通過通訊線路切換到備份系統(tǒng),恢復(fù)業(yè)務(wù)運行。
? ? ?優(yōu)點 : 設(shè)備投資較少,通信環(huán)境要求不高
? ? ?缺點 : 恢復(fù)時間長,一般要十幾個小時至數(shù)天,數(shù)據(jù)完整性與一致性較差
?
3、熱備份 : 備份處于聯(lián)機狀態(tài),當(dāng)前應(yīng)用系統(tǒng)通過高速通信線路將數(shù)據(jù)實時傳送到備份系統(tǒng),保持備份系統(tǒng)與當(dāng)前應(yīng)用系統(tǒng)數(shù)據(jù)的同步;也可定時在備份系統(tǒng)上恢復(fù)應(yīng)用系統(tǒng)的數(shù)據(jù)。一旦發(fā)生災(zāi)難,不用追補或只需追補很少的孤立數(shù)據(jù),備份系統(tǒng)可快速接替生產(chǎn)系統(tǒng)運行,恢復(fù)營業(yè)。
? ? ?優(yōu)點 : 恢復(fù)時間短,一般幾十分鐘到數(shù)小時,數(shù)據(jù)完整性與一致性最好,數(shù)據(jù)丟失可能性最小
? ? ?缺點 : 設(shè)備投資大,通信費用高,通信環(huán)境要求高,平時運行管理較復(fù)雜。
?
?
?
柚子快報邀請碼778899分享:大數(shù)據(jù) Spark.第二周
文章來源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。