更新時(shí)間:2019-08-20 11:26:49 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2647次
Hadoop是一個(gè)由Apache基金會(huì)所開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。
Hadoop是一個(gè)專(zhuān)為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計(jì)的,并不適合那種對(duì)幾個(gè)記錄隨機(jī)讀寫(xiě)的在線事務(wù)處理模式。
Hadoop=HDFS(文件系統(tǒng),數(shù)據(jù)存儲(chǔ)技術(shù)相關(guān))+Mapreduce(數(shù)據(jù)處理),Hadoop的數(shù)據(jù)來(lái)源可以是任何形式,在處理半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)上與關(guān)系型數(shù)據(jù)庫(kù)相比有更好的性能,具有更靈活的處理能力,不管任何數(shù)據(jù)形式最終會(huì)轉(zhuǎn)化為key/value,key/value是基本數(shù)據(jù)單元。
用函數(shù)式變成Mapreduce代替SQL,SQL是查詢(xún)語(yǔ)句,而Mapreduce則是使用腳本和代碼,而對(duì)于適用于關(guān)系型數(shù)據(jù)庫(kù),習(xí)慣SQL的Hadoop有開(kāi)源工具h(yuǎn)ive代替。
hadoop使用Java編寫(xiě),版本較為混亂,初學(xué)者可從1.2.1開(kāi)始學(xué)習(xí)
1.成百上千臺(tái)服務(wù)器組成集群,需要時(shí)刻檢測(cè)服務(wù)器是否故障
2.用流讀取數(shù)據(jù)更加高效快速
3.存儲(chǔ)節(jié)點(diǎn)具有運(yùn)算功能,省略了服務(wù)器之間來(lái)回傳數(shù)據(jù)的網(wǎng)絡(luò)帶寬限制
4.一次寫(xiě)入,多次訪問(wèn),不修改數(shù)據(jù)
5.多平臺(tái)
namenode:master,負(fù)責(zé)總體調(diào)度,處理協(xié)調(diào)請(qǐng)求等
(一個(gè)集群只能有一個(gè)namenode,但是可以多個(gè)集群組成一個(gè)更大的集群,這時(shí)就有多個(gè)namenode,這時(shí)的namenode有兩種狀態(tài),一種叫active并且一個(gè)大集群只能有一個(gè)namenode處于該狀態(tài),一種為standby)
namenode兩大功能:接受客戶(hù)端讀寫(xiě)服務(wù),存放元數(shù)據(jù)(DataNode存儲(chǔ)的位置等基本信息,fsimage和edits文件)
fsimage是namenode格式化時(shí)產(chǎn)生的,edits是用戶(hù)操作增刪改查的時(shí)候生成的日志
datanode:slave,存儲(chǔ)節(jié)點(diǎn),會(huì)備份,一般本地2分,其他服務(wù)器一份
機(jī)架:多個(gè)DataNod節(jié)點(diǎn)組成,master通過(guò)機(jī)架感知技術(shù)得知所需數(shù)據(jù)的位置
數(shù)據(jù)塊:存儲(chǔ)單元,一般64M(hadoop2中是128M)
時(shí)刻保持心跳通訊,保證每個(gè)數(shù)據(jù)都備份于3個(gè)節(jié)點(diǎn)上
5的read為第一個(gè)數(shù)據(jù)塊讀完后,讀下一個(gè)數(shù)據(jù)塊,如果在讀取過(guò)程中某一個(gè)數(shù)據(jù)塊出問(wèn)題,則會(huì)記錄下來(lái)并且找其他的備份,并且以后不再讀取錯(cuò)誤數(shù)據(jù)塊
map負(fù)責(zé)分批運(yùn)算,如果要統(tǒng)計(jì)1TB數(shù)據(jù)中my的出線次數(shù),則可以啟用100個(gè)map,每個(gè)map統(tǒng)計(jì)0.01TB數(shù)據(jù),最終由reduce匯總
作業(yè)(Job):運(yùn)行一個(gè)MapReduce所需要用到的所有jar組件
任務(wù)(Task):mapTask和ReduceTask
Key相同的結(jié)果進(jìn)行reduce統(tǒng)計(jì)合并
作業(yè)提交一般提交jar包和配置文件
調(diào)度一般來(lái)說(shuō)默認(rèn)采取FIFO調(diào)度,即先考慮優(yōu)先級(jí),然后先進(jìn)先出
TaskTracker會(huì)不斷想JobTracker傳達(dá)任務(wù)信息,如果空閑會(huì)主動(dòng)申請(qǐng)作業(yè)
一般的生產(chǎn)環(huán)境都是完全分布式模式。
需要資料的可以登錄動(dòng)力節(jié)點(diǎn)IT培訓(xùn)官網(wǎng)咨詢(xún)?cè)诰€客服老師,打包好了一些Java的基礎(chǔ)資料和一些進(jìn)階資料。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743