成爲大數據頂尖程序員,先過了這些Hadoop面試題!(附答案解析)

導讀:在大數據開發崗位的需求下,工資待遇水漲船高,很多編程人員在面對職業瓶頸期的時候,會選擇轉編程方向發展。node


你是否已經意識這是你人生中的一個重要起色?能不能抓住這個時代的機遇,就在於你對大數據信息的應用和獲取。而如何成爲大數據時代的弄潮兒,掌握當下最緊缺的軟件技能是關鍵!谷歌、阿里巴巴、百度、京東都在急需掌握hadoop技術的大數據人才!不管你精通大數據的哪一項類,都將在將來職場脫穎而出!ios

01 單選題算法


一、下面哪一個程序負責 HDFS 數據存儲?apache


a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker編程


答案 C datanode安全


二、HDfS 中的 block 默認保存幾份?網絡


a)3 份
b)2 份
c)1 份
d)不肯定數據結構


答案 A 默認 3份框架


三、Hadoop 做者?機器學習


a)Martin Fowler

b)Kent Beck
c)Doug cutting


答案 C Doug cutting


四、下列哪一個程序一般與 NameNode 在一個節點啓動?


a)SecondaryNameNode

b)DataNodeb)DataNode

c)TaskTracker

d)Jobtracker


答案:D


此題分析:


hadoop 的集羣是基於 master/slave 模式,namenode 和 jobtracker 屬於 master,datanode 和 tasktracker 屬 於 slave,master 只 有 一 個 , 而 slave 有多個SecondaryNameNode 內存需求和 NameNode 在一個數量級上,因此一般 secondary ,NameNode(運行在單獨的物理機器上)和 NameNode 運行在不一樣的機器上。


JobTracker 和 TaskTracker,JobTracker 對應於 NameNode,TaskTracker 對應於 DataNode,DataNode 和 NameNode 是針對數據存放來而言的,JobTracker 和 TaskTracker 是對於 MapReduce 執行而言的,mapreduce 中幾個主要概念,mapreduce 總體上能夠分爲這麼幾條執行線索:obclient,JobTracker 與 TaskTracker。


JobClient會在用戶端經過JobClient類將應用已經配置參數打包成jar文件存儲到hdfs,並把路徑提交到 Jobtracker,而後由 JobTracker 建立每個 Task(即 MapTask 和ReduceTask)並將它們分發到各個 TaskTracker 服務中去執行。JobTracker 是一個 master 服務,軟件啓動以後 JobTracker 接收 Job,負責調度 Job的每個子任務 task 運行於 TaskTracker 上,並監控它們,若是發現有失敗的 task 就從新運行它。通常狀況應該把 JobTracker 部署在單獨的機器上。TaskTracker 是運行在多個節點上的 slaver 服務。TaskTracker 主動與 JobTracker 通訊,接收做業,並負責直接執行每個任務。TaskTracker 都須要運行在 HDFS 的 DataNode上。


五、下列哪項一般是集羣的最主要瓶頸:


a)CPU
b)網絡
c)磁盤 IO
d)內存


答案:C 磁盤


此題解析:


首先集羣的目的是爲了節省成本,用廉價的 pc 機,取代小型機及大型機。小型機和大型機有什麼特色?


  1. cpu 處理能力強

  2. 內存夠大。因此集羣的瓶頸不多是 a 和 d

  3. 網絡是一種稀缺資源,可是並非瓶頸。

  4. 因爲大數據面臨海量數據,讀寫數據都須要 io,而後還要冗餘數據,hadoop 通常備 3份數據,因此 IO 就會打折扣。


六、 HDFS 默認 Block Size


a)32MB
b)64MB
c)128MB


答案:B


七、關於 SecondaryNameNode 哪項是正確的?


a)它是 NameNode 的熱備

b)它對內存沒有要求
c)它的目的是幫助 NameNode 合併編輯日誌,減小 NameNode 啓動時間
d)SecondaryNameNode 應與 NameNode 部署到一個節點。


答案:C


02 多選題


一、下列哪項能夠做爲集羣的管理?


a)Puppet
b)Pdsh
c)Cloudera Manager
d)Zookeeper


答案:ABD


二、配置機架感知的下面哪項正確:


a)若是一個機架出問題,不會影響數據讀寫
b)寫入數據的時候會寫到不一樣機架的 DataNode 中
c)MapReduce 會根據機架獲取離本身比較近的網絡數據


答案 :ABC


三、Client 端上傳文件的時候下列哪項正確?


a)數據通過 NameNode 傳遞給 DataNode
b)Client 端將文件切分爲 Block,依次上傳
c)Client 只上傳數據到一臺 DataNode,而後由 NameNode 負責 Block 複製工做


答案: B


此題分析:


lient 向 NameNode 發起文件寫入的請求。


NameNode 根據文件大小和文件塊配置狀況,返回給 Client 它所管理部分 DataNode 的信息。Client 將文件劃分爲多個 Block,根據 DataNode 的地址信息,按順序寫入到每個DataNode 塊中。


四、下列哪一個是 Hadoop 運行的模式:


a)單機版
b)僞分佈式
c)分佈式


答案:ABC


五、Cloudera 提供哪幾種安裝 CDH 的方法?


a)Cloudera manager
b)Tarball
c)Yum
d)Rpm


答案:ABCD



03 判斷題


一、 Ganglia 不只能夠進行監控,也能夠進行告警。


正確


此題分析:此題的目的是考 Ganglia 的瞭解。嚴格意義上來說是正確。ganglia 做爲一款最經常使用的 Linux 環境中的監控軟件,它擅長的的是從節點中按照用戶的需求以較低的代價採集數據。可是 ganglia 在預警以及發生事件後通知用戶上並不擅長。最新的 ganglia 已經有了部分這方面的功能。可是更擅長作警告的還有 Nagios。Nagios,就是一款精於預警、通知的軟件。經過將 Ganglia 和 Nagios 組合起來,把 Ganglia 採集的數據做爲 Nagios 的數據源,而後利用 Nagios 來發送預警通知,能夠完美的實現一整套監控管理的系統。


二、Block Size 是不能夠修改的。


錯誤


此題分析:它是能夠被修改的 Hadoop 的基礎配置文件是 hadoop-default.xml,默認創建一個 Job 的時候會創建 Job 的 Config,Config 首先讀入 hadoop-default.xml 的配置,而後再讀入 hadoop-site.xml 的配置(這個文件初始的時候配置爲),hadoop-site.xml 中主要配置須要覆蓋的 hadoop-default.xml 的系統級配置。


三、Nagios 不能夠監控 Hadoop 集羣,由於它不提供 Hadoop 支持。


錯誤


此題分析:Nagios 是集羣監控工具,並且是雲計算三大利器之一


四、若是 NameNode 意外終止,SecondaryNameNode 會接替它使集羣繼續工做。


錯誤


此題分析:SecondaryNameNode 是幫助恢復,而不是替代,如何恢復,能夠查看


五、Cloudera CDH 是須要付費使用的。


錯誤


此題分析:第一套付費產品是 Cloudera Enterpris,Cloudera Enterprise 在美國加州舉行的Hadoop 大會 (Hadoop Summit) 上公開,以若干私有管理、監控、運做工具增強Hadoop 的功能。收費採起合約訂購方式,價格隨用的 Hadoop 叢集大小變更。


六、Hadoop 是 Java 開發的,因此 MapReduce 只支持 Java 語言編寫。


錯誤


此題分析:rhadoop 是用 R 語言開發的,MapReduce 是一個框架,能夠理解是一種思想,可使用其餘語言開發。


七、Hadoop 支持數據的隨機讀寫。


錯誤


此題分析:lucene是支持隨機讀寫的,而 hdfs 只支持隨機讀。可是 HBase 能夠來補救。HBase提供隨機讀寫,來解決 Hadoop 不能處理的問題。HBase自底層設計開始即聚焦於各類可伸縮性問題:表能夠很「高」,有數十億個數據行;也能夠「寬」,有數百萬個列;水平分區並在上千個普通商用機節點上自動複製。表的模式是物理存儲的直接反映,使系統有可能提升高效的數據結構的序列化、存儲和檢索。


八、NameNode 負責管理 metadata,client 端每次讀寫請求,它都會從磁盤中讀取或則會寫入 metadata 信息並反饋 client 端。


錯誤


此題分析:


NameNode 不須要從磁盤讀取 metadata,全部數據都在內存中,硬盤上的只是序列化的結果,只有每次 namenode 啓動的時候纔會讀取。


1)文件寫入


Client 向 NameNode 發起文件寫入的請求。


NameNode 根據文件大小和文件塊配置狀況,返回給 Client 它所管理部分 DataNode 的信息。


Client 將文件劃分爲多個 Block,根據 DataNode 的地址信息,按順序寫入到每個DataNode 塊中。


2)文件讀取


Client 向 NameNode 發起文件讀取的請求。


九、NameNode 本地磁盤保存了 Block 的位置信息。


我的認爲正確,歡迎提出其它意見


此題分析:DataNode是文件存儲的基本單元,它將Block存儲在本地文件系統中,保存了Block的Meta-data,同時週期性地將全部存在的Block信息發送給NameNode。NameNode返回文件存儲的DataNode的信息。Client讀取文件信息。


十、DataNode 經過長鏈接與 NameNode 保持通訊。


這個有分歧:具體正在找這方面的有利資料。下面提供資料可參考。


首先明確一下概念:


(1)長鏈接


Client方與Server方先創建通信鏈接,鏈接創建後不斷開,而後再進行報文發送和接收。這種方式下因爲通信鏈接一直存在,此種方式經常使用於點對點通信。


(2)短鏈接


Client方與Server每進行一次報文收發交易時才進行通信鏈接,交易完畢後當即斷開鏈接。此種方式經常使用於一點對多點通信,好比多個Client鏈接一個Server.


十一、Hadoop 自身具備嚴格的權限管理和安全措施保障集羣正常運行。


錯誤


此題分析:hadoop只能阻止好人犯錯,可是不能阻止壞人幹壞事。


十二、Slave 節點要存儲數據,因此它的磁盤越大越好。


錯誤


此題分析:一旦Slave節點宕機,數據恢復是一個難題。


1三、hadoop dfsadmin –report 命令用於檢測 HDFS 損壞塊。


錯誤


1四、 Hadoop 默認調度器策略爲 FIFO


正確


1五、 集羣內每一個節點都應該配 RAID,這樣避免單磁盤損壞,影響整個節點運行。


錯誤


此題分析:首先明白什麼是RAID,能夠參考百科磁盤陣列。這句話錯誤的地方在於太絕對,具體狀況具體分析。題目不是重點,知識才是最重要的。由於hadoop自己就具備冗餘能力,因此若是不是很嚴格不須要都配備RAID。具體參考第二題。


1六、由於 HDFS 有多個副本,因此 NameNode 是不存在單點問題的。


錯誤


1七、每一個 map 槽就是一個線程。


錯誤


此題分析:首先咱們知道什麼是map 槽,map 槽->map slotmap slot 只是一個邏輯值 ( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是對應着一個線程或者進程。


1八、Mapreduce 的 input split 就是一個 block。


錯誤


1九、NameNode 的 Web UI 端口是 50030,它經過 jetty 啓動的 Web 服務。


錯誤


20、Hadoop 環境變量中的 HADOOP_HEAPSIZE 用於設置全部 Hadoop 守護線程的內存。它默認是 200 GB。


錯誤


此題分析:hadoop爲各個守護進程(namenode, secondarynamenode, jobtracker, datanode, tasktracker)統一分配的內存在hadoop-env.sh中設置,參數爲HADOOP_HEAPSIZE,默認爲1000M。


2一、DataNode 首次加入 cluster 的時候,若是 log 中報告不兼容文件版本,那須要 NameNode執行「Hadoop namenode -format」操做格式化磁盤。


錯誤


此題分析:


首先明白介紹,什麼ClusterID。


ClusterID


添加了一個新的標識符ClusterID用於標識集羣中全部的節點。當格式化一個Namenode,須要提供這個標識符或者自動生成。這個ID能夠被用來格式化加入集羣的其餘Namenode。


二次整理


有的同窗問題的重點不是上面分析內容,內容以下:


這個報錯是說明 DataNode 所裝的Hadoop版本和其它節點不一致,應該檢查DataNode的Hadoop版本 。

關注公衆帳號

【飛馬會】


往期福利
關注飛馬會公衆號,回覆對應關鍵詞打包下載學習資料;回覆「入羣」,加入飛馬網AI、大數據、項目經理學習羣,和優秀的人一塊兒成長!

回覆 數字「5」大數據學習資料下載,新手攻略,數據分析工具、軟件使用教程

回覆 數字「8」大數據資料全解析(352個案例+大數據交易白皮書+國內外政策匯篇)

回覆 數字「9」乾貨 | 薦讀10本大數據書籍(初級/中級/高級)成爲大數據專家!

回覆 數字「11」50本書籍大禮包:AI人工智能/大數據/Database/Linear Algebra/Python/機器學習/Hadoop

回覆 數字「13」大數據技術教程+書籍+Hadoop視頻+大數據研報+科普類書籍

回覆 數字「15」大數據hadoop技術電子書+技術理論+實戰+源代碼分析+專家分享PPT

回覆 數字「18」526份行業報告+白皮書:AI人工智能、機器人、智能出行、智能家居、物聯網、VR/AR、 區塊鏈等(附下載)

回覆 數字「19」800G人工智能學習資料:AI電子書+Python語言入門+教程+機器學習等限時免費領取!

回覆 人工智能下載《FMI人工智能與大數據峯會嘉賓演講PPT》

回覆 AI 江湖下載《十大AI江湖領域》

回覆 ML實踐下載《機器學習實踐經驗指導(英文版)》

回覆 DL論文下載《深度學習100篇以上論文資料》

回覆 算法 下載《數據挖掘十大經典算法》

回覆 6.10 下載《6.10餓了麼&飛馬網項目管理實踐PPT》

相關文章
相關標籤/搜索