1. 程式人生 > >hadoop學習筆記(1)

hadoop學習筆記(1)

ppi datanode ati fonts 管理系 ive 監控 system 分配

1.HDFS架構:

技術分享技術分享技術分享

NameNode保存元數據信息,包含文件的owner,permission。block存儲信息等。存儲在內存。


2.HDFS設計思想

技術分享技術分享

文件以塊的形式存貯,即block,大小為64M。大於64的文件分塊,小於64則為1塊。

文件在上傳的時候會產生副本,副本與原文件在不同的節點上,這樣當一個節點掛掉後不至於丟失文件。節點掛掉後會在空暇節點生成損失的文件。保證副本不會少。(容錯性)


寫文件前須要先創建文件。NameNode先獲得文件信息,再告訴DistributedFileSystem上傳的文件須要分為多少個block。寫文件時NameNode告訴FSDataOutputStream寫在哪。

DataNode通過心跳包告訴NameNode自己是否空暇。

client寫入數據到DataNode。client不產生副本,副本由DataNode依據副本分配策略,將文件拷貝到其它DataNode。

技術分享技術分享

MapReducehe


每個分片(split)都有一個線程去運行。並發地。

MR運行分為split(分片),map,shuffling,reduce四個步驟。最後生成的part保存在HDFS中。整個過程把HDFS的原始數據經過處理再存放。

MR運行過程如圖:

技術分享技術分享

雜亂的數據線split分片,通過mapping(程序猿實現)計算輸出和合並排序(shuffling)再依次傳給reduce線程計算。

技術分享

map的結果儲存在內存,然後將內存中的數據partition(分區,依照程序partition中寫的規則或者默認的分區規則),並排序。易寫到磁盤。

這部分操作都是屬於一個Map Task,即在一個節點上的。reduce怎樣解決數據傾斜問題?通過partition的分配策略

技術分享

Hadoop1與Hadoop2差別:


技術分享

技術分享


技術分享

HA:主/備模式的NameNode。避免了Hadoop1中NameNode單點故障問題。


Federation:相當於NameNode的集群。針對數據量巨大的公司。

技術分享技術分享

yarn:Hadoop的統一一資源管理系統,Hadoop2.X新增,個人理解是為了解耦,添加的一層


ZK即Zookeeper:管理NameNode。通過信條連接監控NameNode的情況,active的NameNode掛掉後投票選舉產生新的active NameNode。

Zookeeper為基數個。

hadoop學習筆記(1)