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階...