扣丁學(xué)堂大數(shù)據(jù)零基礎(chǔ)培訓(xùn)之Hadoop入門
2018-09-13 09:14:17
1303瀏覽
我們?cè)趯W(xué)習(xí)大數(shù)據(jù)或者參加大數(shù)據(jù)培訓(xùn)的時(shí)候,一定會(huì)接觸到Hadoop,那在剛?cè)腴T的時(shí)候,我們應(yīng)該注意些什么呢?今天扣丁學(xué)堂的小編就來給大家講一講吧!
Hadoop生態(tài)概況
Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)集成架構(gòu),用戶可以在不了解分布式底層細(xì)節(jié)情況下,開發(fā)分布式程序,充分利用集群的威力來進(jìn)行高速運(yùn)算與存儲(chǔ),具有可靠、高效、可伸縮的特點(diǎn):
高可靠性:提供按位處理的存儲(chǔ)和計(jì)算能力值得用戶信賴。
高擴(kuò)展性:可以輕松地從小量集群擴(kuò)展到數(shù)以千計(jì)的節(jié)點(diǎn)中。
高效性:提供并發(fā)的分布式計(jì)算框架,處理速度非???。
高容錯(cuò)性:即使在少量節(jié)點(diǎn)宕機(jī)的情況下,也能自動(dòng)完成任務(wù)。
Hadoop的核心是YARN,HDFS,Mapreduce。
HDFS
源自谷歌的GFS論文,發(fā)表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),它是一個(gè)高度容錯(cuò)的系統(tǒng),能檢測和應(yīng)對(duì)硬件故障。
HDFS簡化了文件一致性模型,通過流式數(shù)據(jù)訪問,提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序,它提供了一次寫入多次讀取的機(jī)制,數(shù)據(jù)以塊的形式,同時(shí)分布在集群不同物理機(jī)器。
Mapreduce
源自于谷歌的MapReduce論文,"HadoopMap/Reduce是一個(gè)使用簡易的軟件框架,基于它寫出來的應(yīng)用程序能夠運(yùn)行在由上千個(gè)商用機(jī)器組成的大型集群上,并以一種可靠容錯(cuò)的方式并行處理上T級(jí)別的數(shù)據(jù)集。"Hadoop將MapReduce高度抽象為兩個(gè)階段:Map階段和Reduce階段,每個(gè)階段都以Key/Value對(duì)作為過程的輸入和輸出,并可以由程序員自己選擇他們的類型。
HBASE(分布式列存數(shù)據(jù)庫)
源自谷歌的Bigtable論文,是一個(gè)建立在HDFS之上,面向列的針對(duì)結(jié)構(gòu)化的數(shù)據(jù)可伸縮,高可靠,高性能分布式和面向列的動(dòng)態(tài)模式數(shù)據(jù)庫。HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源于FayChang所撰寫的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(FileSystem)所提供的分布式數(shù)據(jù)存儲(chǔ)一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。另一個(gè)不同的是HBase基于列的而不是基于行的模式。
ZooKeeper
ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),它是集群的管理者,監(jiān)視著集群中各個(gè)節(jié)點(diǎn)的狀態(tài)根據(jù)節(jié)點(diǎn)提交的反饋進(jìn)行下一步合理操作。最終,將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。ZooKeeper為其提供:文件系統(tǒng)與通知機(jī)制。
HIVE
Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表,并提供類sql查詢功能,Hive底層將sql語句轉(zhuǎn)化為mapreduce任務(wù)運(yùn)行。相對(duì)于用java代碼編寫mapreduce來說,Hive的優(yōu)勢明顯:快速開發(fā),人員成本低,可擴(kuò)展性(自由擴(kuò)展集群規(guī)模),延展性(支持自定義函數(shù))。
Flume
Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。
當(dāng)前Flume有兩個(gè)版本Flume0.9X版本的統(tǒng)稱Flume-og,F(xiàn)lume1.X版本的統(tǒng)稱Flume-ng。由于Flume-ng經(jīng)過重大重構(gòu),與Flume-og有很大不同,使用時(shí)請(qǐng)注意區(qū)分。
Yarn分布式資源管理器
YARN(YetAnotherResourceNegotiator,aframeworkforjobschedulingandclusterresourcemanagement),Yarn是下一代mapreduce,主要解決原始的Hadoop擴(kuò)展性較差,不支持多種計(jì)算框架而提出的,YARN的優(yōu)秀點(diǎn)是什么,踐行分布式框架設(shè)計(jì)和并行化開發(fā)時(shí)有什么啟發(fā)。希望這能加深Hadoop理解和算法開發(fā)思路擴(kuò)展,如TensorFlow的多核任務(wù)分配機(jī)制、分布式任務(wù)分配機(jī)制等。
spark
Spark是一個(gè)用來實(shí)現(xiàn)快速而通用的集群計(jì)算的平臺(tái)。擴(kuò)展了廣泛使用的MapReduce計(jì)算模型,而且高效地支持更多的計(jì)算模式,包括交互式查詢和流處理。在處理大規(guī)模數(shù)據(jù)集的時(shí)候,速度是非常重要的。Spark的一個(gè)重要特點(diǎn)就是能夠在內(nèi)存中計(jì)算,因而更快。即使在磁盤上進(jìn)行的復(fù)雜計(jì)算,Spark依然比MapReduce更加高效。
Kafka
Kafkaisadistributed,partitioned,replicatedcommitlogservice。它提供了類似于JMS的特性,但是在設(shè)計(jì)實(shí)現(xiàn)上完全不同,此外它并不是JMS規(guī)范的實(shí)現(xiàn)。kafka對(duì)消息保存時(shí)根據(jù)Topic進(jìn)行歸類,發(fā)送消息者成為Producer,消息接受者成為Consumer,此外kafka集群有多個(gè)kafka實(shí)例組成,每個(gè)實(shí)例(server)成為broker。無論是kafka集群,還是producer和consumer都依賴于zookeeper來保證系統(tǒng)可用性集群保存一些meta信息。
Hadoop偽分布式部署
目前而言,不收費(fèi)的Hadoop版本主要有三個(gè),都是國外廠商,分別是
1、Apache原始版本
2、CDH版本,對(duì)于國內(nèi)用戶而言,絕大多數(shù)選擇該版本
3、HDP版本
以上就是扣丁學(xué)堂大數(shù)據(jù)在線學(xué)習(xí)小編給大家分享的文章,希望對(duì)小伙伴們有所幫助,大數(shù)據(jù)是一門很重要的學(xué)科,大家想要了解更多關(guān)于大數(shù)據(jù)方面內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢,這里有與時(shí)俱進(jìn)的課程體系和大量的大數(shù)據(jù)在線視頻教程讓學(xué)員免費(fèi)觀看學(xué)習(xí),想要學(xué)好大數(shù)據(jù)的小伙伴快到扣丁學(xué)堂來了解詳情吧??鄱W(xué)堂大數(shù)據(jù)學(xué)習(xí)群:209080834。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“大數(shù)據(jù)培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽:
大數(shù)據(jù)培訓(xùn)
大數(shù)據(jù)視頻教程
大數(shù)據(jù)學(xué)習(xí)
大數(shù)據(jù)資訊
Hadoop入門