扣丁學堂2019年大數據Hadoop面試題及答案整理

在互聯網高速發展的今天,不少人尚未搞清楚什麼是PC互聯網,移動互聯網來了,咱們還沒搞清楚移動互聯網的時候,大數據時代又來了。大數據已經無處不在,隨之而來的就是大數據技術人才的急需,如下就是扣丁學堂大數據培訓老師整理的技術面試問題,你們能夠再面試前參考。node

單項選擇題ios

1.下面哪一個程序負責HDFS數據存儲。面試

a)NameNodeb)Jobtrackerc)Datanoded)secondaryNameNodee)tasktracker算法

2.HDfS中的block默認保存幾份?apache

a)3份b)2份c)1份d)不肯定安全

3.下列哪一個程序一般與NameNode在一個節點啓動?網絡

a)SecondaryNameNodeb)DataNodec)TaskTrackerd)Jobtracker數據結構

4.Hadoop做者框架

a)MartinFowlerb)KentBeckc)Dougcutting分佈式

5.HDFS默認BlockSize

a)32MBb)64MBc)128MB

6.下列哪項一般是集羣的最主要瓶頸

a)CPUb)網絡c)磁盤d)內存

7.關於SecondaryNameNode哪項是正確的?

a)它是NameNode的熱備

b)它對內存沒有要求

c)它的目的是幫助NameNode合併編輯日誌,減小NameNode啓動時間

d)SecondaryNameNode應與NameNode部署到一個節點

多選題:

8.下列哪項能夠做爲集羣的管理工具

a)Puppetb)Pdshc)ClouderaManagerd)Zookeeper

9.配置機架感知的下面哪項正確

a)若是一個機架出問題,不會影響數據讀寫

b)寫入數據的時候會寫到不一樣機架的DataNode中

c)MapReduce會根據機架獲取離本身比較近的網絡數據

10.Client端上傳文件的時候下列哪項正確

a)數據通過NameNode傳遞給DataNode

b)Client端將文件切分爲Block,依次上傳

c)Client只上傳數據到一臺DataNode,而後由NameNode負責Block複製工做

11.下列哪一個是Hadoop運行的模式

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

12.Cloudera提供哪幾種安裝CDH的方法

a)Clouderamanagerb)Tarballc)Yumd)Rpm

判斷題:

13.Ganglia不只能夠進行監控,也能夠進行告警。()

14.BlockSize是不能夠修改的。()

15.Nagios不能夠監控Hadoop集羣,由於它不提供Hadoop支持。()

16.若是NameNode意外終止,SecondaryNameNode會接替它使集羣繼續工做。()

17.ClouderaCDH是須要付費使用的。()

18.Hadoop是Java開發的,因此MapReduce只支持Java語言編寫。()

19.Hadoop支持數據的隨機讀寫。()

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

21.NameNode本地磁盤保存了Block的位置信息。()

22.DataNode經過長鏈接與NameNode保持通訊。()

23.Hadoop自身具備嚴格的權限管理和安全措施保障集羣正常運行。()

24.Slave節點要存儲數據,因此它的磁盤越大越好。()

25.hadoopdfsadmin–report命令用於檢測HDFS損壞塊。()

26.Hadoop默認調度器策略爲FIFO()

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

28.由於HDFS有多個副本,因此NameNode是不存在單點問題的。()

29.每一個map槽就是一個線程。()

30.Mapreduce的inputsplit就是一個block。()

31.NameNode的WebUI端口是50030,它經過jetty啓動的Web服務。()

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

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

分享一些容易被忽視的Hadoop面試題及答案

答案

1.下面哪一個程序負責HDFS數據存儲。答案Cdatanode

a)NameNodeb)Jobtrackerc)Datanoded)secondaryNameNodee)tasktracker

2.HDfS中的block默認保存幾份?答案A默認3分

a)3份b)2份c)1份d)不肯定

3.下列哪一個程序一般與NameNode在一個節點啓動?答案D

a)SecondaryNameNodeb)DataNodec)TaskTrackerd)Jobtracker

此題分析:

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服務中去執行。

obTracker是一個master服務,軟件啓動以後JobTracker接收Job,負責調度Job的每個子任務task運行於TaskTracker上,並監控它們,若是發現有失敗的task就從新運行它。通常狀況應該把JobTracker部署在單獨的機器上。

TaskTracker是運行在多個節點上的slaver服務。TaskTracker主動與JobTracker通訊,接收做業,並負責直接執行每個任務。TaskTracker都須要運行在HDFS的DataNode上。

在此我向你們推薦一個大數據開發交流圈:658558542裏面整理了一大份學習資料,全都是些乾貨,包括大數據技術入門,大數據離線處理、數據實時處理、Hadoop、Spark、Flink、推薦系統算法以及源碼解析等,送給每一位大數據小夥伴,讓自學更輕鬆。這裏不止是小白彙集地,還有大牛在線解答!歡迎初學和進階中的小夥伴一塊兒進羣學習交流,共同進步!

4.Hadoop做者答案CDougcutting

a)MartinFowlerb)KentBeckc)Dougcutting

5.HDFS默認BlockSize答案:B

a)32MBb)64MBc)128MB

(由於版本更換較快,這裏答案只供參考)

6.下列哪項一般是集羣的最主要瓶頸:答案:C磁盤

a)CPUb)網絡c)磁盤IOd)內存

該題解析:

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

cpu處理能力強

內存夠大(因此集羣的瓶頸不多是a和d)

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

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

7.關於SecondaryNameNode哪項是正確的?答案C

a)它是NameNode的熱備

b)它對內存沒有要求

c)它的目的是幫助NameNode合併編輯日誌,減小NameNode啓動時間

d)SecondaryNameNode應與NameNode部署到一個節點。

多選題:

8.下列哪項能夠做爲集羣的管理?答案:ABD

a)Puppetb)Pdshc)ClouderaManagerd)Zookeeper

9.配置機架感知的下面哪項正確:答案ABC

a)若是一個機架出問題,不會影響數據讀寫

b)寫入數據的時候會寫到不一樣機架的DataNode中

c)MapReduce會根據機架獲取離本身比較近的網絡數據

10.Client端上傳文件的時候下列哪項正確?答案B

a)數據通過NameNode傳遞給DataNode

b)Client端將文件切分爲Block,依次上傳

c)Client只上傳數據到一臺DataNode,而後由NameNode負責Block複製工做

該題分析:

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

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

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

11.下列哪一個是Hadoop運行的模式:答案ABC

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

12.Cloudera提供哪幾種安裝CDH的方法?答案:ABCD

a)Clouderamanagerb)Tarballc)Yumd)Rpm

分享一些容易被忽視的Hadoop面試題及答案

判斷題:

13.Ganglia不只能夠進行監控,也能夠進行告警。(正確)

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

14.BlockSize是不能夠修改的。(錯誤)

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

15.Nagios不能夠監控Hadoop集羣,由於它不提供Hadoop支持。(錯誤)

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

16.若是NameNode意外終止,SecondaryNameNode會接替它使集羣繼續工做。(錯誤)

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

17.ClouderaCDH是須要付費使用的。(錯誤)

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

18.Hadoop是Java開發的,因此MapReduce只支持Java語言編寫。(錯誤)

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

19.Hadoop支持數據的隨機讀寫。(錯)

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

20.NameNode負責管理metadata,client端每次讀寫請求,它都會從磁盤中讀取或則會寫入metadata

信息並反饋client端。(錯誤)

分析:NameNode不須要從磁盤讀取metadata,全部數據都在內存中,硬盤上的只是序列化的結果,只有每次namenode

啓動的時候纔會讀取。

1)文件寫入

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

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

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

2)文件讀取

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

21.NameNode本地磁盤保存了Block的位置信息。(我的認爲正確,歡迎提出其它意見)

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

Client讀取文件信息。

22.DataNode經過長鏈接與NameNode保持通訊。()

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

首先明確一下概念:

(1).長鏈接

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

(2).短鏈接

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

23.Hadoop自身具備嚴格的權限管理和安全措施保障集羣正常運行。(錯誤)

hadoop只能阻止好人犯錯,可是不能阻止壞人幹壞事

24.Slave節點要存儲數據,因此它的磁盤越大越好。(錯誤)

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

25.hadoopdfsadmin–report命令用於檢測HDFS損壞塊。(錯誤)

26.Hadoop默認調度器策略爲FIFO(正確)

27.集羣內每一個節點都應該配RAID,這樣避免單磁盤損壞,影響整個節點運行。(錯誤)

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

28.由於HDFS有多個副本,因此NameNode是不存在單點問題的。(錯誤)

29.每一個map槽就是一個線程。(錯誤)

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

30.Mapreduce的inputsplit就是一個block。(錯誤)

31.NameNode的WebUI端口是50030,它經過jetty啓動的Web服務。(錯誤)

32.Hadoop環境變量中的HADOOP_HEAPSIZE用於設置全部Hadoop守護線程的內存。它默認是200GB。(錯誤)

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

3三、33.DataNode首次加入cluster的時候,若是log中報告不兼容文件版本,那須要

NameNode執行「Hadoopnamenode-format」操做格式化磁盤。(錯誤)

分析:

首先明白介紹,什麼是ClusterID

ClusterID

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

以上就是關於扣丁學堂2019年大數據Hadoop面試題及答案整理的詳細介紹,但願對小夥伴們有所幫助,想要了解更多內容的小夥伴能夠登陸扣丁學堂官網諮詢。想要學好大數據開發小編給你們推薦口碑良好的扣丁學堂,扣丁學堂有專業老師制定的大數據學習路線圖輔助學員學習,此外還有與時俱進的大數據視頻教程供你們學習,想要學好Python開發技術的小夥伴快快行動吧。

相關文章
相關標籤/搜索