hadoop重命名文件_面试系列:深入理解hadoop架构体系
hadoop組件簡(jiǎn)介
官方文檔組織的非常清晰,主要由以下四個(gè)組件組成:HDFS、map-reduce、yarn、hadoop-common
hdfs架構(gòu)
HDFS
分布式文件存儲(chǔ)系統(tǒng),主要特點(diǎn)是:
- 可以運(yùn)行在普通低成本硬件之上
- 并且具備高容錯(cuò)性(硬件容錯(cuò))
- 適合高吞吐量的大數(shù)據(jù)存儲(chǔ),但并不強(qiáng)調(diào)低延遲
- 適合一次寫(xiě),多次讀的場(chǎng)景,不支持隨機(jī)讀寫(xiě);
map-reduce
map-reduce是一個(gè)計(jì)算框架,絕大部分的數(shù)據(jù)處理都可以轉(zhuǎn)化為map、reduce組合,然后利用map-reduce框架進(jìn)行計(jì)算、處理;
yarn
資源管理器,核心的思想時(shí)將資源的調(diào)度管理與資源監(jiān)控分割為兩個(gè)進(jìn)程,其中一個(gè)是ResourceManager,另一個(gè)是NodeManager,前者負(fù)責(zé)資源的分配、后者負(fù)責(zé)資源監(jiān)控;
common
hdfs、map-reduce所需要的公共庫(kù);
面試題
HDFS的進(jìn)程構(gòu)成及其作用;
nameNode進(jìn)程:負(fù)責(zé)對(duì)外展示文件的層級(jí)結(jié)構(gòu)、管理客戶(hù)端對(duì)文件的訪問(wèn)(如:打開(kāi)、關(guān)閉、重命名等)、決定文件block與dataNode的對(duì)應(yīng)關(guān)系;
secondNameNode進(jìn)程:從名字來(lái)看,應(yīng)該是nameNode的back up,然而并不是,其主要作用是協(xié)助nameNode管理editLog;
dataNode:主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)以及客戶(hù)端的讀寫(xiě)請(qǐng)求以及block的創(chuàng)建、刪除等;
詳細(xì)解釋map過(guò)程的細(xì)節(jié):
map過(guò)程主要是實(shí)現(xiàn)key-value集合到key-value集合的映射,可以實(shí)一對(duì)一、一對(duì)多、多對(duì)多映射;
詳細(xì)過(guò)程是:map -> group -> sorted -> partitioned
group:相同的key放到一起;
sorted:按照key進(jìn)行排序
partition:對(duì)key進(jìn)行分區(qū),最終分區(qū)數(shù)量一般等于task數(shù)量;
詳細(xì)解釋reduce過(guò)程細(xì)節(jié):
首先是shuffle,即從map端拉取數(shù)據(jù)到reducer端;
之后是group,也就是相同的key可能來(lái)自于不同的map,所以需要group
之后是sort過(guò)程(再map階段排序的基礎(chǔ)之上,進(jìn)行歸并排序即可)
最后是second sort(用戶(hù)自定義,如果沒(méi)有自定義則不執(zhí)行)
最后是reduce過(guò)程。
setCombinerClass的作用:
在map端先進(jìn)行一部分reduce工作,主要優(yōu)點(diǎn)是減少shuffle成本;但也有一定的局限性,僅僅適用于reduce的輸入和輸出數(shù)據(jù)類(lèi)型相同時(shí);
簡(jiǎn)單介紹Federation架構(gòu):
Federation架構(gòu)通過(guò)多個(gè)獨(dú)立的NameNode實(shí)現(xiàn)集群的橫向擴(kuò)展,主要解決了HDFS的吞吐量及承載量受限于單個(gè)nameNode,并且無(wú)法根據(jù)namespace做隔離的弊端。
在存儲(chǔ)層,各個(gè)nameNode共用統(tǒng)一的DataNode
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的hadoop重命名文件_面试系列:深入理解hadoop架构体系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python查询数据库带逗号_浅谈pym
- 下一篇: 怎么把cad做的图分享给别人_干货在线