來(lái)源
面對(duì)的數(shù)據(jù)和計(jì)算難題
大量的網(wǎng)頁(yè)怎么存儲(chǔ)
搜索算法
給我們的關(guān)鍵技術(shù)和思想
GFS(google file system)
MapReduce
Bigtable
優(yōu)缺點(diǎn)
HDFS優(yōu)點(diǎn)
高容錯(cuò)性:1.數(shù)據(jù)自動(dòng)保存多個(gè)副本(默認(rèn)3個(gè));2.副本丟失后,自動(dòng)恢復(fù)
適合批處理:1.移動(dòng)計(jì)算而非數(shù)據(jù)(在具體的datanode上進(jìn)行計(jì)算,或者resourcemanager);2.數(shù)據(jù)位置暴露給計(jì)算框架
適合大數(shù)據(jù)處理:1.GB、TB、甚至PB級(jí)數(shù)據(jù);2.百萬(wàn)規(guī)模以上的文件數(shù)量;3.10K+節(jié)點(diǎn)
可構(gòu)建在廉價(jià)機(jī)器上:1.通過(guò)多副本提高可靠性;2.提供容錯(cuò)和恢復(fù)機(jī)制
HDFS缺點(diǎn)
低延遲數(shù)據(jù)訪問(wèn):1.比如毫秒級(jí);2.低延遲與高吞吐率
小文件存取:1.占用NameNode大量?jī)?nèi)存;2.尋道時(shí)間超過(guò)讀取時(shí)間
并發(fā)寫(xiě)入、文件隨機(jī)修改:1.一個(gè)文件只能有一個(gè)寫(xiě)者;2.僅支持append
HDFS架構(gòu)

NameNode
只能有1臺(tái)NameNode是Active的,要做高可用確保其穩(wěn)定性。(在生存環(huán)境中NameNode和SecondaryNameNode都是獨(dú)立的機(jī)器)

SecondaryNameNode
存在于1.X版本的Hadoop,在2.X版本的Hadoop中如果做了高可用就沒(méi)有SecondaryNameNode了,SecondaryNameNode的合并功能會(huì)由高可用standby的NameNode去進(jìn)行合并。


DataNode
由于數(shù)據(jù)保存會(huì)有3個(gè)副本,DataNode至少3臺(tái)以上

DataNode的Block副本存放策略:

HDFS寫(xiě)流程
首先是權(quán)限認(rèn)證,然后順序?qū)?/p>

HDFS讀流程
首先是權(quán)限認(rèn)證,然后順序讀

HDFS文件權(quán)限
默認(rèn)是只通過(guò)用戶(hù)名認(rèn)證,沒(méi)有密碼(可以通過(guò)集成第三方進(jìn)行驗(yàn)證,需要犧牲部分性能)

HDFS安全模式
HDFS啟動(dòng)后,fsimage信息在內(nèi)存中,所有的后續(xù)操作(執(zhí)行edits的操作)只會(huì)記錄到edits中并不會(huì)更新到fsimage中,所以需要啟動(dòng)時(shí)運(yùn)行edits的各項(xiàng)操作。

Hadoop 2.X產(chǎn)生背景
只有海量數(shù)據(jù)才會(huì)有這種情況

Hadoop 1.X 與 2.X
