第一周, 總體概述, Hadoop , 想到鴻蒙的未來,還想大干一場
2019-8-2 大數(shù)據(jù)班正式開課, 整天講解大數(shù)據(jù)的軟件構成和概念
Hadoop , 想到鴻蒙的未來,我還想大干一場
HDFS:
Hadoop是Apache軟件基金會所開發(fā)的并行計算框架與分布式文件系統(tǒng)。
Hadoop 最核心的模塊包括Hadoop Common、HDFS與MapReduce。
HDFS是Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System)的縮寫,
為分布式計算存儲提供了底層支持。
采用Java語言開發(fā),可以部署在多種普通的廉價機器上,以集群處理數(shù)量積達到大型主機處理性能。
HDFS 架構原理HDFS采用master/slave架構。
一個HDFS集群包含一個單獨的NameNode和多個DataNode。
NameNode作為master服務,它負責管理文件系統(tǒng)的命名空間和客戶端對文件的訪問。
NameNode會保存文件系統(tǒng)的具體信息,包括文件信息、文件被分割成具體block塊的信息、以及每一個block塊歸屬的DataNode的信息。
HDFS通過NameNode對用戶提供了一個單一的命名空間。
DataNode作為slave服務,在集群中可以存在多個。
通常每一個DataNode都對應于一個物理節(jié)點。
DataNode負責管理節(jié)點上它們擁有的存儲,它將存儲劃分為多個block塊,管理block塊信息,同時周期性的將其所有的block塊信息發(fā)送給NameNode。
HDFS采用master/slave架構。一個HDFS集群是由一個Namenode和一定數(shù)目的Datanodes組成。
Namenode是一個中心服務器,負責管理文件系統(tǒng)的名字空間(namespace)以及客戶端對文件的訪問。
集群中的Datanode一般是一個節(jié)點一個,負責管理它所在節(jié)點上的存儲。
HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。
從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組Datanode上。
Namenode執(zhí)行文件系統(tǒng)的名字空間操作,比如打開、關閉、重命名文件或目錄。
它也負責確定數(shù)據(jù)塊到具體Datanode節(jié)點的映射。
Datanode負責處理文件系統(tǒng)客戶端的讀寫請求。
在Namenode的統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)建、刪除和復制。
下圖為HDFS系統(tǒng)架構圖,主要有三個角色,Client、NameNode、DataNode。
文件寫入時:Client向NameNode發(fā)起文件寫入的請求。
NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。
Client將文件劃分為多個block塊,并根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。
當文件讀?。篊lient向NameNode發(fā)起文件讀取的請求。
NameNode返回文件存儲的block塊信息、及其block塊所在DataNode的信息。
Client讀取文件信息。
HDFS 數(shù)據(jù)備份HDFS被設計成一個可以在大集群中、跨機器、可靠的存儲海量數(shù)據(jù)的框架。
它將所有文件存儲成block塊組成的序列,除了最后一個block塊,所有的block塊大小都是一樣的。
文件的所有block塊都會因為容錯而被復制。
每個文件的block塊大小和容錯復制份數(shù)都是可配置的。
容錯復制份數(shù)可以在文件創(chuàng)建時配置,后期也可以修改。
HDFS中的文件默認規(guī)則是write one(一次寫、多次讀)的,并且嚴格要求在任何時候只有一個writer。NameNode負責管理block塊的復制,它周期性地接收集群中所有DataNode的心跳數(shù)據(jù)包和Blockreport。心跳包表示DataNode正常工作,Blockreport描述了該DataNode上所有的block組成的列表。
---------------------
作者:Resines
來源:CSDN
原文:https://blog.csdn.net/genglei1022/article/details/89646714
版權聲明:本文為博主原創(chuàng)文章,轉載請附上博文鏈接!
MapReduce:
YARN: