HDFS(Hadoop Distributed File System)
概述
特點(diǎn):一次寫入,多次讀出,且不支持文件的修改
優(yōu)點(diǎn)
- 高容錯(cuò)性:不同節(jié)點(diǎn)保存多個(gè)副本
- 某個(gè)副本丟失以后,它可以自動(dòng)恢復(fù)
- 適合處理大數(shù)據(jù)
- 可以構(gòu)建在廉價(jià)機(jī)器上,通過多副本機(jī)制,提高可靠性
缺點(diǎn)
- 不適合低延時(shí)數(shù)據(jù)訪問
- 無法高效的對(duì)大量小文件進(jìn)行存儲(chǔ)
- 不支持并發(fā)寫入、文件隨機(jī)修改。一個(gè)文件只能有一個(gè)寫,僅支持append,不支持文件的隨機(jī)修改
HDFS組成
hadoop構(gòu)件圖
包括三個(gè)部分
- NN:最重要的部分,保存元文件,并且負(fù)責(zé)配置副本,處理客戶端的讀寫請(qǐng)求。包工頭
- DN:存儲(chǔ)實(shí)際的數(shù)據(jù)塊,實(shí)際執(zhí)行數(shù)據(jù)塊的讀寫操作 。 工人
- 2NN:輔助NameNode,在緊急情況下,輔助恢復(fù)NameNode。 秘書,
HDFS文件快大小
通過設(shè)置dfs.blocksize設(shè)置,默認(rèn)128MB。這個(gè)設(shè)置其實(shí)是與磁盤的讀寫速度相關(guān)
- 設(shè)置太小,副本太多尋址時(shí)間長(zhǎng)
- 設(shè)置太大,從磁盤傳輸數(shù)據(jù)的時(shí)間很長(zhǎng),導(dǎo)致程序處理數(shù)據(jù)的時(shí)間變慢
Shell操作
Hadoop對(duì)文件的操作
Hadoop 其實(shí)和linux一樣。
cp
mv
chown
du disk usage
df 查看文件使用情況
從local到hdfs
copyFromLocal 和 put無區(qū)別 moveFromLocal則是剪切
從hdfs到local
get,copyToLocal
merge,把某個(gè)文件夾里的內(nèi)容合并發(fā)送到本地
setrep 設(shè)置副本數(shù),副本數(shù)小于datanode,當(dāng)設(shè)置過大時(shí),沒有意義。不會(huì)再一個(gè)datanode上存多個(gè)副本
HDFS的API操作
使用時(shí)看文檔即可