hadoop hdfs 問題集錦 面試問題集錦

2021-09-29 01:08:27 字數 1183 閱讀 6739

hadoop hdfs問題集錦

一:hadoop為什麼不適合處理大量的小檔案,怎麼解決?

原因:1:檔案的元資料(包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上),都是儲存在namenode上的記憶體,會對namenode的記憶體造成壓力;

2: 檔案過多會造成檔案的定位時間(又稱定址時間)增大;

3:監管時間問題:

datanode會向namenode傳送兩種型別的報告:增量報告和全量報告。

增量報告是當datanode接收到block或者刪除block時,會向namenode報告。

全量報告是週期性的,nn處理100萬的block報告需要1s左右,這1s左右nn會被鎖住,其它的請求會被阻塞。

解決方法:合併大量小檔案。

公司的解決方法是在每天凌晨一點的時候,對前一天的所有小檔案進行合併。通過mr進行實現。

二:怎麼修改塊的大小

hdfs-site.xml的引數dfs.block.size

四:hdfs分塊抽象的好處

1 檔案大小可以大於任意乙個磁碟的容量,塊並不需要儲存在同乙個磁碟上

2 抽象塊作為儲存單元,簡化儲存子系統的設計

datanode將塊作為處理物件,能儲存多少塊也能計算出

namenode管理元資料

3 資料備份提高容錯能力和可用性

五:namenode和datanode(管理者-工作者模式)

namenode作用:

1-管理檔案系統的命名空間。維護這檔案系統樹和整棵樹的所有檔案和目錄;

儲存在磁碟上;

2-塊的元資料資訊,儲存在記憶體中。

datanode的作用:

1:根據需要儲存並檢索資料塊(需求來自客戶端 或 namenode排程);

2:定期向namenode傳送他們所儲存的塊的列表。

secondnamenode的作用:

1:合併fsimage和fsedits然後再發給namenode。

因為namenode,檔案系統無法使用,並且會有丟失檔案資訊,所以需要對namenode進行容錯機制,方法:

1-冗餘備份,把檔案系統元資料以為持久化的方式進行備份。

2-secondnamenode冷備份;但狀態總滯後於namenode,難免會丟失資料。namenode死後,secondnamenode會轉化為datanode

[參考文件]

Hadoop HDFS 常見問題 二

hdfs 1.hdfs為什麼不適合儲存大量小檔案?答 1 大小量檔案的元資料會占用namenode大量記憶體空間 解析 檔案的元資料 包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上 都是儲存在namenode上的。hdfs的每個檔案 目錄 資料塊占用150b,因...

403問題集錦

如果你是訪問乙個網頁出現這個問題 說明這個網頁是一般人是關閉的 禁止訪問的 你就不要看了 錯誤 403.1 403.1 錯誤是由於 執行 訪問被禁止而造成的,若試圖從目錄中執行 cgi isapi 或其他可執行程式,但該目錄不允許執行程式時便會出現此種錯誤。錯誤 403.2 403.2 錯誤是由於 ...

Matlab問題集錦

茲將以後遇到的與matlab相關的小問題,集中到此博文中。1 在malab中如何顯示特殊字元?試想,如果你想將pi的希臘字母,該怎麼辦呢?如果想要輸入上下標或希臘字母,又該怎麼辦呢?輸下標 輸上標 輸latex公式 text interpreter latex string int 0 x int ...