hadoop圖解

gateway機(jī)器是跳板機(jī),提交job到云梯的,在gateway機(jī)器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地址和hdfs的地址。


ouz43i40hj.png

gateway機(jī)器(相當(dāng)于job client)提交job和對應(yīng)的jar包到j(luò)obtracker機(jī)器上,jobtracker會對提交的作業(yè)進(jìn)行相應(yīng)的校驗,校驗通過就初始化這個job,然后jobtracker把對應(yīng)的job放入調(diào)度隊列,同時taskTracker會不停的發(fā)送心跳信號給jobtracker,如果taskTracker空閑,那么jobtracker會根據(jù)調(diào)度策略把它分給相應(yīng)的taskTracker,然后taskTracker就啟動一個jvm進(jìn)程來處理。然后一般taskTracker啟動的選擇都和datanode的距離有關(guān),一般是先考慮同一服務(wù)器的機(jī)器,其次是同一機(jī)架的,主要是為了減少網(wǎng)絡(luò)的開銷(因為不在同一服務(wù)器上的話,還要dataNode的數(shù)據(jù)傳輸就需要網(wǎng)路)。

然后taskTracker在跑mapreduce的時候,會請求namenode,由它來告知datanode一系列的信息,比如存儲地址,大小等信息。

hdfs的架構(gòu)圖:

qdn63b6l6f.png

hdfs讀取數(shù)據(jù):

19t048juc5.png

dfs客戶端先建立hdfs文件系統(tǒng)的連接,然后從namenode中獲取對應(yīng)data的地址等信息,然后通過inputFormat方法去切割和讀取datanode中的文件,這樣就完成了數(shù)據(jù)的讀取。 hdfs寫入數(shù)據(jù):

image

dfs客戶端首先建立hdfs文件系統(tǒng)的連接,然后通過create方法告知它要創(chuàng)建一個文件,然后namenode開始創(chuàng)建一個文件名稱,通過hdfs的寫入流類進(jìn)行對datanode數(shù)據(jù)的寫入,它的寫入是以包的形式寫入的,然后每次寫入會有一個ack的包確認(rèn)信號返回,也就是途中datanode中的兩個相互箭頭的表示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容