hadoop框架平台

2021-10-24 13:04:53 字數 2545 閱讀 7368

狹義上說hadoop就是乙個框架平台,廣義上講hadoop代表大資料的乙個技術生態 圈,包括很多其他軟體框架

(1)hdfs重要概念

namenode:儲存檔案的元資料,比如檔名,檔案目錄結構,檔案屬性,以及每個檔案的塊列表和塊所在的datanode。

secondarynamenode: 監控hdfs狀態,獲取元資料的快照。

datanode:儲存檔案塊資料,以及塊資料的校驗

命名空間:通過目錄樹來定位檔案,由namenode負責。

元資料:目錄結構及檔案分塊位置資訊

讀取特點:一次寫入,多次讀取,不支援檔案的修改

(2)hdfs讀寫機制

讀取資料流程

(1)客戶端通過distributefilesystem模組向namenode發出申請上傳檔案,namenode檢查目標檔案是夠存在,上傳路徑是否合法.

(2)namenode返回是否可以上傳

(3)客戶端請求第乙個block上傳到哪幾個datanode伺服器上。

(4)namenode返回3個datanode節點。

(5)客戶端通過fsdataoutputstream模組請求datanode1上傳資料,datanode1請求呼叫datanode2,datanode2請求呼叫datanode3,將這個通訊管道建立完成。

(6)datanode逐級應答客戶端。

(7)客戶端開始往dn1上傳第乙個block(先從磁碟讀取資料放到乙個本地記憶體快取),以packet為單 位,dn1收到乙個packet就會傳給dn2,dn2傳給dn3;dn1每傳乙個packet會放入乙個確認佇列 等待確認。

(8)當乙個block傳輸完成之後,客戶端再次請求namenode上傳第二個block的伺服器。(重複執行 3-7步)。

(3) 元資料管理機制

namenode啟動工作

(1)第一次啟動namenode格式化後,建立fsimage和edits檔案。如果不是第一次啟動,直接載入編輯日誌和映象檔案到記憶體。

(2)客戶端對元資料進行增刪改的請求。

(3)namenode記錄日誌操作,更新滾動日誌。

(4)namenode在記憶體中對資料進行增刪改

** secondary namenode工作**

(1)secondary namenode詢問namenode是否需要checkpoint.直接帶回namenode是否執行檢查點操作結果。

(2)secondary namenode請求執行checkpoint。

(3)namenode滾動正在寫的edits日誌。

將滾動前的編輯日誌和映象檔案拷貝到secondary namenode。

(4)secondary namenode載入編輯日誌和映象檔案到記憶體,並合併。

(5)生成新的映象檔案fsimage.chckpoint。

(6)拷貝fsimage.chkpoint到namenode。

(7)namenode將fsimage.chkpoint重新命名成fsimage

maptask執行機制

(1)reduce程序啟動一些資料copy執行緒,通過http方式請求maptask獲取屬於自己的檔案。

(2)copy過來的資料會先放入記憶體緩衝區,merge資料,合併成乙個大的資料後進行排序。

(3)對排序後的鍵值對呼叫reduce方法。

shuffle機制

1)collect階段:將maptask的結果輸出到預設大小為100m的環形緩衝區,儲存的是key/value序列化資料,partition分割槽資訊等。

2)spill 階段:當記憶體中的資料量達到一定的閥值的時候,就會將資料寫入本地磁碟,在將資料寫入磁碟之前需要對資料進行一次排序的操作,如果配置了combiner,還會將有相同分割槽號和key的資料進行排序。

3)merge 階段:把所有溢位的臨時檔案進行一次合併操作,以確保乙個maptask最終只產生乙個中間資料檔案。

4)copy階段: reducetask啟動fetcher執行緒到已經完成maptask的節點上覆制乙份屬於自己的資料,這些資料缺省會儲存在記憶體的緩衝區中,當記憶體的緩衝區達到一定的閥值的時候,就會將資料寫到磁碟之上。

5)merge階段:在reducetask遠端複製資料的同時,會在後台開啟兩個執行緒(乙個是記憶體到磁碟的合併,乙個是磁碟到磁碟的合併)對記憶體到本地的資料檔案進行合併操作。

6)sort階段:在對資料進行合併的同時,會進行排序操作,由於maptask 階段已經對資料進行了區域性的排序,reducetask只需保證copy的資料的最終整體有效性即可

Hadoop框架介紹

hadoop三大發行版本 apache cloudera hortonworks。apache版本最原始 最基礎 的版本,對於入門學習最好。cloudera內部整合了很多大資料框架。對應產品cdh。hortonworks文件較好。對應產品hdp。在hadoop1.x時代,hadoop 的mapred...

Hadoop排程框架

大資料協作框架是乙個桐城,就是hadoop2生態系統中幾個輔助的hadoop2.x框架。主要如下 hadoop排程框架 quartz排程框架,但是多個作業時,缺點就出來了。linux crotab 是針對每個使用者而言。crontab e 就是加任務 規則如下 cmd 前面的五個 分別是表示設定的時...

Hadoop框架基礎

hadoop 是乙個適合大資料的分布式儲存和計算平台。指的是乙個框架,hadoop是由三部分組成 hdfs 分布式檔案系統 儲存 mapreduce 分布式離線計算框架 計算 yarn 資源排程框架 廣義的hadoop不僅僅包含hadoop框架,除了hadoop框架之外的一些輔助框架。flume 日...