Hadoop 02_初学必知
Hadoop簡介:http://hadoop.apache.org
分布式存儲系統HDFS?(Hadoop Distributed File System )POSIX
?分布式存儲系統
?提供了 高可靠性、高擴展性和高吞吐率的數據存儲服務
分布式計算框架MapReduce
?分布式計算框架(計算向數據移動)
具有 易于編程、高容錯性和高擴展性等優點。
分布式資源管理框架YARN(Yet Another Resource Management)
負責集群資源的管理和調度
版本:1.x,2.x,3.x
--------------------------------------------------------------------------------------
HDFS:
存儲模型:字節
文件線性切割成塊(Block):偏移量 offset (byte,中文?)
Block分散存儲在集群節點中
單一文件Block大小一致,文件與文件可以不一致
Block可以設置副本數,副本無序分散在不同節點中
副本數不要超過節點數量
文件上傳可以設置Block大小和副本數(資源不夠開辟的進程)
已上傳的文件Block副本數可以調整,大小不變
(2.x 128MB 3 blocks)
只支持一次寫入多次讀取,同一時刻只有一個寫入者
可以append追加數據
--------------------------------------------------------------------------------------
架構模型:
文件元數據MetaData,文件數據
元數據
數據本身
(主)NameNode節點保存文件元數據:單節點 ??posix
(從)DataNode節點保存文件Block數據:多節點
DataNode與NameNode保持心跳,提交Block列表
HdfsClient與NameNode交互元數據信息
HdfsClient與DataNode交互文件Block數據(cs)
DataNode 利用服務器本地文件系統存儲數據塊
--------------------------------------------------------------------------------------
NameNode(NN)
基于內存存儲 :不會和磁盤發生交換(雙向)
只存在內存中
持久化(單向)
NameNode主要功能:
接受客戶端的讀寫服務
收集DataNode匯報的Block列表信息
NameNode保存metadata信息包括
文件owership和permissions
文件大小,時間
(Block列表:Block偏移量),位置信息(持久化不存)
Block每副本位置(由DataNode上報)
--------------------------------------------------------------------------------------
NameNode持久化
NameNode的metadata信息在啟動后會加載到內存
metadata存儲到磁盤文件名為”fsimage”(時點備份)
Block的位置信息不會保存到fsimage
edits記錄對metadata的操作日志…>Redis
二者的產生時間和過程?(format)
--------------------------------------------------------------------------------------
SecondaryNameNode(SNN)
它不是NN的備份(但可以做備份),它的主要工作是幫助NN合并edits log,減少NN啟動時間。
SNN執行合并時機
根據配置文件設置的時間間隔fs.checkpoint.period ?默認3600秒
? ?根據配置文件設置edits log大小 fs.checkpoint.size 規定edits文件的最大值默認是64MB
--------------------------------------------------------------------------------------
DataNode(DN)
本地磁盤目錄存儲數據(Block),文件形式
同時存儲Block的元數據信息文件
啟動DN時會向NN匯報block信息
通過向NN發送心跳保持與其聯系(3秒一次),如果NN 10分鐘沒有收到DN的心跳,則認為其已經lost,并copy其上的block到其它DN
--------------------------------------------------------------------------------------
HDFS優點:
高容錯性
數據自動保存多個副本
?副本丟失后,自動恢復
適合批處理
移動計算而非數據
數據位置暴露給計算框架(Block偏移量)
適合大數據處理
GB 、TB 、甚至PB 級數據
百萬規模以上的文件數量
10K+ 節點
可構建在廉價機器上
通過多副本提高可靠性
提供了容錯和恢復 機制
--------------------------------------------------------------------------------------
HDFS缺點:
低延遲數據訪問
比如毫秒級
低延遲與高吞吐率
小文件存取
占用NameNode 大量內存
尋道時間超過讀取時間
并發寫入、文件隨機修改
一個文件只能有一個寫者
僅支持append
--------------------------------------------------------------------------------------
Block的副本放置策略
第一個副本:放置在上傳文件的DN;如果是集群外提交,則隨機挑選一臺磁盤不太滿,CPU不太忙的節點。
第二個副本:放置在于第一個副本不同的 機架的節點上。
第三個副本:與第二個副本相同機架的節點。
更多副本:隨機節點
?
總結
以上是生活随笔為你收集整理的Hadoop 02_初学必知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop 01_基础知识
- 下一篇: Hadoop 03_核心:读写流程