Hadoop總結 相關面試題

2021-09-27 12:36:39 字數 3828 閱讀 1921

1.1 簡要描述如何安裝配置apache的乙個開源hadoop

使用root賬戶登入

修改ip

修改host主機

配置ssh免密登入關閉防火牆(1-5可以簡單說成準備一台伺服器)

安裝jdk解壓hadoop安裝包配置hadoop核心檔案:hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml

配置hadoop環境變數

格式化hadoop namenode-format啟動節點:start-all.sh

1.2 hadoop中需要哪些配置檔案,其作用是什麼

檔名需要記住

1.3 請列出正常工作的hadoop集群中hadoop都分別需要啟動哪些程序,它們的作用分別是什麼

namenode它是hadoop中的主伺服器,管理檔案系統名稱和對集群中儲存的檔案的訪問,儲存有metadata。

secondarynamenode,它不是namenode的熱備,而是提供週期檢查點和清理任務。幫助nn合併editslog,減少nn的啟動時間。

datanode它負責管理連線到節點的儲存(乙個集群中可以有多個節點)。每個節點都執行乙個datanode。

resourcemanager(jobtracker)負責排程datanode上面的工作。每個datanode有乙個tasktracker,它們執行實際工作。

nodemanager,也就是tasktracker。

1.4 簡述hadoop的幾個預設埠及其含義

dfs.namenode.http-address:50070secondarynamenode 輔助名稱節點的埠號:50090

dfs.datanode.address:50010

fs.defaultfs:8020 or 9000

2.1 hdfs的讀寫流程

2.1.1 上傳

客戶端向namenode請求上傳檔案,namenode檢查目標檔案是否已經存在,父目錄是否已經存在。

namenode返回是否可以上傳

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

namenode返回3個datanode的節點,分別為dn1,dn2,dn3.

客戶端請求dn1上傳資料,dn1收到請求會繼續呼叫dn2,然後dn2呼叫dn3,將通訊管道建立完畢。

dn1、dn2、dn3逐級應答客戶端

客戶端開始往dn1上傳第乙個block,以packet為單位,dn1收到了就會把它傳給dn2,dn2收到了就傳給dn3。dn1每傳乙個packet就會放入乙個應答佇列等待應答。

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

挑選一台datanode(就近原則)伺服器,請求讀取資料

datanode開始傳輸資料給客戶端,從磁碟裡讀取資料,以packet為單位來做校驗

客戶端以packet為單位接收,現在本地快取,然後寫到目標檔案。

2.2 secondarynamenode和namenode的區別與聯絡

區別:

namenode負責管理整個檔案系統的元資料,以及每個路徑(檔案)所對應的資料塊資訊。

secondarynamenode主要用於定期合併映象檔案和編輯日誌

聯絡:

secondarynamenode中儲存了乙份namenode一直的映象檔案(fsimage)和編輯日誌(edits)

在namenode發生故障的時候,可以從secondarynamenode恢復資料。

2.3 服役新節點和退役舊節點

關於白名單和黑名單

2.4 namenode掛了怎麼辦

將secondarynamenode中資料拷貝到namenode儲存資料庫的目錄

使用-importcheckpoint選項啟動namenode守護程序,從而將secondarynamenode中的資料拷貝到namenode目錄中去

3.1 談談hadoop序列化和反序列化,以及自定義bean物件實現序列化

3.2 fileinputformat切片機制

3.3 自定義inputformat

3.4 乙個job的map和reduce數量是由什麼決定的

3.5 mr工作流程(maptask工作機制、reducetask工作機制)

兩張圖3.6 mapreduce有幾種排序及排序發生的階段

排序種類

發生階段

3.7 shuffle的流程和優化

3.8 combiner的作用是什麼,什麼情況可以使用,什麼情況不可以使用,和reduce的區別在?

3.9 如果不自定義partitioner,資料是如何分割槽的

3.10 mapreduce怎麼實現topn

可以自定義groupingcomparator,或者在map端對資料進行排序,然後在reduce輸出時,只輸出n個數即可。

3.11 使hadoop任務輸出到多個目錄中

自定義outputformat

3.12 實現join的幾種方法以及每種方法的實現

3.13 怎樣實現二級排序

對map端輸出的key進行排序,實現的compareto方法,在該方法中排序的條件有兩個。

3.14 切分成幾塊

hdfs塊大小為64m

輸入型別為fileinputformat

有三個檔案的大小分別是:64kb、65mb、127mb

hadoop框架會把這些檔案拆分成多少塊

3.15 recordreader的作用

用來讀取不同型別的檔案的

3.16 程式設計題

public int compareto(sortbean o)else if(this.marko.getid())?-1:1

}}

分為8塊

4.1 簡述hadoop1與hadoop2的架構異同

4.2 為什麼會產生yarn,有什麼優勢

4.3 mr提交的全過程

4.4 hdfs的壓縮演算法?及每種演算法的應用場景

4.5 hadoop排程策略

主要有三種:fifo(先進先出),capacity scheduler(容量排程器,預設),fair scheduler(公平排程器)

4.6 mapreduce推測執行演算法及原理

入門

hdfs

mapreduce

壓縮

lzo優化

其他案例

linux相關面試題總結!

a.在註冊該域時指定 b.將hostmaster foo.com放入soa記錄的第二塊空間內 c.在zone檔案中建立mail to hostmaster foo.com的記錄 d.將hostmaster.foo.com放入soa記錄的第二塊空間內 366 假設在乙個公司的內部有一台web伺服器經常...

面試題總結 Linux Shell相關

序號命令 命令解釋 1top 檢視記憶體 2df h 檢視磁碟儲存情況 3iotop 檢視磁碟io讀寫 4iotop o 直接檢視比較高的磁碟讀寫程式 5netstat tunlp grep 埠號 檢視埠占用情況 6uptime 檢視報告系統執行時長及平均負載 7ps aux 檢視程序 序號工具注釋...

Hadoop筆試 面試題

該試題來自董成西彙總 1 mapreduce中排序發生在哪幾個階段?這些排序是否可以避免,為什麼?答 乙個mapreduce作業由map階段和reduce階段兩部分組成,這兩階段會對資料排序,從這個意義上說,mapreduce框架本質就是乙個distributed sort。在map階段,在map階...