hadoop (1)hadoop核心知識點總結

2021-08-17 05:56:19 字數 2816 閱讀 1843

1、  安裝hadoop需要配置的hadoop中的配置檔案有哪些?

2、  hadoop的核心模組和相應的程序

hdfs:namenode,datanode,secondarynamenode,namenodemanager,datanodemanager

3、  secondarynamenode的作用

如果執行namenode服務的機器損壞,那麼檔案系統上所有的檔案都將丟失,因此,namenode的容錯非常重要,hadoop為此提供了兩種機制,secondarynamenode是其中之一:

在namenode執行的時候,同時執行乙個secondarynamenode,但是它不會被用作namenode,它的作用是定期的通過編輯日誌檔案(edits)合併命名空間映象(images),以防編輯日誌過大,secondarynamenode一般執行在另一台單獨的計算機上,因為它需要占用大量的cpu時間與namenode相同容量的記憶體來執行合併操作。它儲存合併後的映象副本,並在namenode發生故障後啟用。但是,secondarynamenode儲存的狀態總是滯後於namenode的,因此主節點全部失效時,肯定會丟失一部分資料。

4、  edits檔案和fsimages檔案的作用

fsimages檔案包含整個hdfs系統中的所有目錄和檔案的inode資訊,對於檔案來說包含了資料塊描述資訊,修改時間,訪問時間;對於目錄來說,包括修改時間,訪問許可權控制資訊等;

edits檔案主要是在namenode已經啟動的情況下對hdfs進行的各種更新操作進行記錄

5、  結合圖描述hdfs寫原理

(1)client通過對dfs物件呼叫create方法建立乙個新的檔案

(2)dfs對namenode建立乙個rpc(remote proecdure call)呼叫,在檔案的命名空間中新建乙個檔案,此時該檔案還沒有對應的資料塊,namenode通過對其許可權檢查和路徑檢查無誤後,為建立新檔案記錄一條記錄,就是乙個edits檔案

(3)dfs向物件返回乙個fsdos物件,client通過該物件向hdfs中寫入資料

(4)dfsos將檔案分成乙個個的資料報,並寫入內部佇列,成為資料佇列(data queue)。datastreamer處理資料佇列,它的責任是根據datanode列表來要求namenode分配適合的新塊來儲存資料副本。預設分配三個節點,datastreamer將資料報流式傳輸到管線中的datanode1上,該節點儲存資料報並將它傳送到管線中的datanode2,以此類推

(5)dfsos也維護著乙個確認佇列等待datanode的確認回執,當收取到所有的datanode確認回執的時候,該資料報才會從確認佇列刪除

(6)client完成寫入後,對資料流呼叫close方法

6、結合圖描述hdfs的讀取原理

•使用hdfs提供的客戶端開發庫client,向遠端的namenode發起rpc請求;

• namenode會視情況返回檔案的部分或者全部block列表,對於每個block,namenode都會返回有該block拷貝的datanode位址;

•客戶端開發庫client會選取離客戶端最接近的datanode來讀取block;如果客戶端本身就是datanode,那麼將從本地直接獲取資料.

•讀取完當前block的資料後,關閉與當前的datanode連線,並為讀取下乙個block尋找最佳的datanode;

•當讀完列表的block後,且檔案讀取還沒有結束,客戶端開發庫會繼續向namenode獲取下一批的block列表。

•讀取完乙個block都會進行checksum驗證,如果讀取datanode時出現錯誤,客戶端會通知namenode,然後再從下乙個擁有該block拷貝的datanode繼續讀

7、  根據圖描述hdfs的構架原理

hdfs被設計成在乙個大集群中可以跨機器地可靠地儲存海量的檔案。它將每個檔案儲存成block序列,除了最後乙個block,所有的block都是同 樣的大小。檔案的所有block為了容錯都會被複製。每個檔案的block大小和replication因子都是可配置的。replication因子可 以在檔案建立的時候配置,以後也可以改變。hdfs中的檔案是write-one,並且嚴格要求在任何時候只有乙個writer。namenode全權管 理block的複製,它周期性地從集群中的每個datanode接收心跳包和乙個blockreport。心跳包的接收表示該datanode節點正常工 作,而blockreport包括了該datanode上所有的block組成的列表。

(2)副本的選擇

為了降低整體的頻寬消耗和讀延時,hdfs會盡量讓reader讀最近的副本。如果在reader的同乙個機架上有乙個副本,那麼就讀該副本。如果乙個hdfs集群跨越多個資料中心,那麼reader也將首先嘗試讀本地資料中心的副本。

8、  簡述hdfs的優缺點

9、 啟動hadoop的指令碼和用法

hdfs dfs –put /home/admin/newfile /user/admin/aaron上傳

hdfs dfs –copyfromlocal /home/admin/newfile /user/admin/aaron上傳

11、  結合圖描述yarn框架的原理以及它與hadoop1.x中mapreduce框架的區別。

本題答案看我上篇微博

Hadoop 核心介紹

hadoop各個核心專案架構 hdfs2的架構 負責資料的分布式儲存,主從結構 主節點 namenode 可以有兩個 接收使用者的請求操作,使使用者操作入口 維護檔案系統目錄結構,稱為命名空間。從節點 datanode 至少乙個,儲存真實 資料。yarn的結構 是乙個資源排程和管理的平台,也是只從結...

Hadoop學習筆記1 初識Hadoop

資料越來越多,資料的增長越來越快,儲存和分析這些資料成為挑戰!當資料量逐漸變大時,單個磁碟的讀寫速度成為瓶頸。解決辦法是,將資料分散儲存,通過並行讀取提高讀寫資料。要達到這種目的,面臨的2個問題 hadoop的hdfs和mapreduce為這兩個問題提供了解決方案。為什麼不能用關係型資料庫 更多磁碟...

Hadoop核心知識

一 hadoop核心 hdfs hadoop distributed file system 分布式檔案系統 用於海量資料的儲存 yarn yet another resource negotiator 資源管理排程系統,用於資源管理排程 map reduce 分布式運算框架,用於海量資料的分析 二...