真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

這篇文章主要介紹了大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、四川電信科技城機(jī)房解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球成百上千企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

  1. HDFS架構(gòu)
    可以查看官網(wǎng)的描述

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

介紹NameNode and DataNodes

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

結(jié)合上圖官網(wǎng) 描述可以總結(jié)

HDFS has a master/slave architecture 是一個(gè)主從的架構(gòu)

An HDFS cluster consists of a single NameNode 一個(gè)集群只有一個(gè)NameNode

there are a number of DataNodes, usually one per node in the cluster, which manage storage attached to the nodes that they run on. 有多個(gè) DataNodes 主要作用是管理manages 文件系統(tǒng)的命名空間,和管理需要訪問文件的客戶端

 HDFS exposes a file system namespace and allows user data to be stored in files. HDFS公開了文件系統(tǒng)名稱空間,并允許用戶數(shù)據(jù)存儲(chǔ)在文件中。

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

根據(jù)上圖

可以看到有這么幾個(gè)概念

  1. Client

  2. NameNode( 簡(jiǎn)寫為NN)

  3. DataNodes (簡(jiǎn)寫為 DN)

  4. Block

Client 用于發(fā)起HDFS請(qǐng)求,可以是用戶,可以是代碼

NN 存在唯一一個(gè),所以存在SinglePoint of Failure (單點(diǎn)故障的問題) 引出 ==》HA(heigh available)

DN 存在多個(gè)

作用:存儲(chǔ)數(shù)據(jù) 和NN 之間有心跳

Namenode 創(chuàng)建的時(shí)候,配置有文件名字、 副本數(shù) 等

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

2.讀寫流程

了解架構(gòu)后,我們來看讀寫流程

假設(shè)我們有一個(gè)client  一個(gè)NameNode 三個(gè)DataNode,等幾個(gè)角色

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

(1)寫入流程

1.一個(gè)用戶、代碼需要寫入文件

第一步:client 從配置文件(hdfs 的配置文件中)獲取到 1. 副本大小 2.副本數(shù)量

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

第二步:在第一步獲取的的參數(shù)中,進(jìn)行文件拆分

第三步:client 向 NameNode 發(fā)起請(qǐng)求,詢問NameNode 文件應(yīng)該放在哪里

第四步: NameNode 返回文件,可以存放到的位置

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

第五步:client 對(duì)指定的DataNode 位置寫入文件

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

DataNode 寫入完成進(jìn)行副本拷貝和通知NameNode

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

(2)讀取流程(就相對(duì)比較簡(jiǎn)單了)

第一步:客戶段請(qǐng)求NameNode 文件

第二步:NameNode 返回存放該數(shù)據(jù)的DataNode 地址

第三步:client 到DataNode 讀取數(shù)據(jù)

3.HA (高可用)架構(gòu)

在官網(wǎng)上可以看到有QJM 和NFS 架構(gòu)

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

QJM(https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html)

NFS(https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html)

其中見常見的HA框架如下圖所示

大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析

建立多個(gè)NameNode 一個(gè)Active 活動(dòng)狀態(tài), 一個(gè)Standby 備用,通過Monitor Health 監(jiān)控狀態(tài), 通過Zookeeper 協(xié)調(diào)主備切換

4.小文件是什么

小文件是指文件size小于HDFS上block大小的文件。這樣的文件會(huì)給hadoop的擴(kuò)展性和性能帶來嚴(yán)重問題

為什么有小文件?

1、實(shí)時(shí)處理:比如我們使用 Spark Streaming 從外部數(shù)據(jù)源接收數(shù)據(jù),然后經(jīng)過 ETL 處理之后存儲(chǔ)到 HDFS 中。這種情況下在每個(gè) Job 中會(huì)產(chǎn)生大量的小文件。
2、hive中對(duì)表執(zhí)行insert操作,每次插入都在表目錄下形成一個(gè)小文件。創(chuàng)建表結(jié)構(gòu)相同的表,create table t_new as select * from t_old;老表根據(jù)實(shí)際情況可以刪除就刪除。
3、hive中執(zhí)行簡(jiǎn)單過濾操作,符合過濾條件的數(shù)據(jù)存在很多block塊中,走map,map輸出有很多小文件。開啟map端的聚合。
4、mapreduce正常執(zhí)行產(chǎn)生小文件。將mapreduce輸出不直接寫hdfs,而是寫入到hbase中。設(shè)置map端文件合并及reduce端文件合并。
5、輸入數(shù)據(jù)文件為小文件。小文件合并后再計(jì)算。CombineFileInputFormat:它是一種新的inputformat,用于將多個(gè)文件合并成一個(gè)單獨(dú)的split,另外,它會(huì)考慮數(shù)據(jù)的存儲(chǔ)位置。

5.小文件帶來的瓶頸

1.磁盤IO

2.task啟動(dòng)銷毀的開銷

3.資源有限(磁盤空間)

具體為:處理大量小文件速度遠(yuǎn)遠(yuǎn)小于處理同等大小的大文件的速度。每一個(gè)小文件要占用一個(gè)slot,而task啟動(dòng)將耗費(fèi)大量時(shí)間甚至大部分時(shí)間都耗費(fèi)在啟動(dòng)task和釋放task上。

最后小文件的解決方法:

通用處理方案:

1、Hadoop Archive

Hadoop Archive或者HAR,是一個(gè)高效地將小文件放入HDFS塊中的文件存檔工具,它能夠?qū)⒍鄠€(gè)小文件打包成一個(gè)HAR文件,這樣在減少namenode內(nèi)存使用的同時(shí),仍然允許對(duì)文件進(jìn)行透明的訪問。

2、Sequence file

sequence file由一系列的二進(jìn)制key/value組成,如果為key小文件名,value為文件內(nèi)容,則可以將大批小文件合并成一個(gè)大文件。

底層處理方案:

HDFS-8998:

DataNode劃分小文件區(qū),專門存儲(chǔ)小文件。一個(gè)block塊滿了開始使用下一個(gè)block。

HDFS-8286:

將元數(shù)據(jù)從namenode從內(nèi)存移到第三方k-v存儲(chǔ)系統(tǒng)中。

HDFS-7240:

Apache Hadoop Ozone,hadoop子項(xiàng)目,為擴(kuò)展hdfs而生。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


新聞標(biāo)題:大數(shù)據(jù)云計(jì)算面試之HDFS架構(gòu)的示例分析
轉(zhuǎn)載來于:http://weahome.cn/article/jgjcgp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部