1,Hadoop
··· Hadoop:
Hadoop的核心由HDFS和MapReduce組成。HDFS是分佈式文件系統,是Hadoop生態圈的分佈式數據存儲基石;MapReduce是計算組件,會被Spark取代。
··· Hadoop生態圈:
Hadoop生態圈是一系列用來處理大數據的框架或組件,有Hadoop、Hive、Spark、HBase等。
2,HDFS
··· 組成:
HDFS採用主從結構,支持文件形式的數據;HDFS包括一個NameNode節點、若干個DataNode節點和一個Secondary NameNode節點,Hadoop2.2以後能夠有多個NameNode節點。
··· NameNode:
NameNode做爲主服務器,用來管理文件系統命名空間和客戶端對文件的訪問操做;NameNode是全部HDFS元數據的管理者,用戶的數據不會通過NameNode;NameNode執行文件系統的命名空間,如打開、關閉、重命名文件或目錄等,也負責數據塊到具體DataNode的映射。存儲文件的元數據,以及每一個文件的塊列表和塊所在的DataNode。
··· DataNode:
DataNode管理存儲的數據;從內部看,文件被分紅若干個數據塊,並保存在一組DataNode上;DataNode負責處理文件系統客戶端的讀寫,並在NameNode的統一調度下進行數據庫的建立、刪除和複製工做。
··· Secondary NameNode:
用來監控HDFS狀態的輔助後臺程序,每隔一段時間獲取HDFS元數據的快照。冷備份。
3,HDFS HA
··· 高可用HDFS,因爲HDFS的NameNode存在單點故障,因此須要備份的NameNode。
1,備份的NameNode與活動的NameNode經過日誌文件edit實現同步,而且同時只能有一個NameNode是active狀態,active能夠讀寫edit,standby只能讀edit。熱備份。
2,ZooKeeper 負責管理NameNode 的故障轉移(狀態切換)。每個NameNode節點上都運行一個ZKFC進程(ZooKeeper的客戶端),ZKFC負責向ZooKeeper 發送本機NameNode 的健康情況。