HDFS2.0
HDFS新特性:
• NameNode HA
• NameNode Federation
• HDFS 快照
• HDFS 緩存
• HDFS ACL
1、HDFS HA
1)HA:高可用,解決單點故障問題,雖然1.0裏面有SNN,但是不可靠,因此使用兩個NN,一個activeNN,另一個standbyNN。只要DN對兩個NN同時發送心跳還可以保證兩個NN的數據一致性
2、引進JN:原因,因爲DN向兩個NN發送心跳是 block-》DN
而引進JN是文件-》block
兩者保證的數據類型不同
3、HDFS2.0引入了zookeeper,目的:協調分佈式集羣中各個節點工作有序運行,完成故障轉移
4、在2.0中,ZKFC是一個進程,和NN部署在同一個機器上,ZKFC目的:負責對自己管轄之內的NN進行健康檢查,
ZKFC會在zookeeper上註冊一個臨時節點,
目的用於監控NN,一旦NN掛掉,相對應的臨時節點消失,接下來開始選主(申請鎖)流程
5、JN通常配置成奇數個(2n+1),如果n+1個數據是一致的,那麼數據就能確定下來
6、JN目的:讓activeNN和StandbyNN保持數據同步(文件 -> block)
7、JN一種選擇是NFS,另一種選擇是QJM
NFS:需要額外的磁盤空間
QJM:不需要額外的磁盤空間
8、QJM:最低法定人數管理機制
原理:用2n+1臺機器存儲edit log,每次寫數據操作屬於大多數(n+1)時候,返回成功,保證高可用
QJM本質也是一個小集羣,好處:
1)不需要空間
2)無單點問題
3)不會因爲個別機器延遲,影響整體性能
4)通過簡單的系統配置就可以實現
9、NN和JN通常不在一臺機器上
FC和NN在同一臺機器上
RM(Yarn中的資源管理器,相當於1.0中的jobtracker的部分功能)和NN在同一臺機器
zookeeper通常是單獨維護的一套獨立集羣
二、HDFS聯邦
目的:減輕單一NN壓力,將一部分文件轉移到其他NN上管理
如果集羣中某一個目錄比較大,建議用單獨的NN維護起來
橫向擴展,突破了單獨NN的限制
命名空間精簡
每一個NN共享所有的DN數據
聯邦的本質:元數據管理(NN)和存儲(DN)進行解耦,但是實際情況是:數據的存儲仍然是共享的
三、快照:數據備份、災備、快速恢復
快照本質:也佔空間(僅僅記錄了block列表和大小而已,並不涉及數據本身的複製)
某個目錄的某一時刻的鏡像
快照創建的過程非常快,瞬間完成,高效
四、緩存:集中式緩存(不侷限具體的機器cpu和操作系統層面上的優化)
緩存管理對於重複訪問的文件很有用
優點:訪問速度快
五、權限控制ACL
類似於linux系統acl功能
張三(技術部):zhangsan_dir
李四(產品部):lisi_dir
rwxr------
自己-組-其他
setacl單獨給李四開權限