一.分佈式存儲數據庫
1.維護HDFS文件系統,是HDFS的主節點。分佈式
2.接收客戶端的請求:上傳、下載文件、建立目錄等。oop
3.記錄客戶端操做的日誌(edits文件),保存了HDFS最新的狀態spa
1)Edits文件保存了自最後一次檢查點以後全部針對HDFS文件系統的操做,好比:增長文件、重命名文件、刪除目錄等3d
2)保存目錄:$HADOOP_HOME/tmp/dfs/name/current日誌
能夠使用 hdfs oev -i 命令將日誌(二進制)輸出爲 XML文件xml
hdfs oev -i edits_inprogress_0000000000000005499 -o ~/temp/log.xmlblog
4.維護文件元信息,將內存中不經常使用的文件元信息保存在硬盤上(fsimage文件)內存
1)fsimage是HDFS文件系統存於硬盤中的元數據檢查點,裏面記錄了自最後一次檢查點以前HDFS文件系統中全部目錄和文件的序列化信息hadoop
2)保存目錄:edits
3)能夠使用 hdfs oev -i 命令將日誌(二進制)輸出爲 XML文件
1.以數據塊爲單位,保存數據
1)Hadoop1.0的數據塊大小:64M
2)Hadoop2.0的數據庫大小:128M
2.在全分佈模式下,至少兩個DataNode節點
3.數據保存的目錄:由 hadoop.tmp.dir 參數指定
1.主要做用:合併日誌
2.合併時機:HDFS發出檢查點的時候
3.日誌合併過程:
1)NameNode單點故障問題
解決方案:Hadoop2.0中,使用Zookeeper實現NameNode的HA功能
2)NameNode壓力過大,且內存受限,影響系統擴展性
解決方案:Hadoop2.0中,使用NameNode聯盟實現水平擴展
二.YARN:分佈式計算(MapReduce)
1.接收客戶端的請求,執行任務
2.分配資源
3.分配任務
從 DataNode上獲取數據,執行任務
三.HBase的體系結構