hadoop面試題答案
Hadoop 面試題,看看書找答案,看看你能答對多少(2)
http://www.cnblogs.com/yunkaifa/p/3538154.html
布衣神帝
1. 下面哪個程式負責 HDFS 資料儲存。
a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker
答案C datanode
2. HDfS 中的 block 預設儲存幾份?
a)3 份 b)2 份c)1 份d)不確定
答案A預設3分
3. 下列哪個程式通常與 NameNode 在一個節點啟動?
a)SecondaryNameNode b)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整體上可以分為這麼幾條執行線索:
jobclient,JobTracker與TaskTracker。
1、JobClient會在使用者端通過JobClient類將應用已經配置引數打包成jar檔案儲存到hdfs,
並把路徑提交到Jobtracker,然後由JobTracker建立每一個Task(即MapTask和ReduceTask)
並將它們分發到各個TaskTracker服務中去執行
2、JobTracker是一個master服務,軟體啟動之後JobTracker接收Job,負責排程Job的每一個子任務task運行於TaskTracker上,
並監控它們,如果發現有失敗的task就重新執行它。一般情況應該把JobTracker部署在單獨的機器上。
3、TaskTracker是執行在多個節點上的slaver服務。TaskTracker主動與JobTracker通訊,接收作業,並負責直接執行每一個任務。
TaskTracker都需要執行在HDFS的DataNode上
4. Hadoop 作者
a)Martin Fowler b)Kent Beck c)Doug cutting
答案C Doug cutting
5. HDFS 預設 Block Size
a)32MB b)64MB c)128MB
答案:B
6. 下列哪項通常是叢集的最主要瓶頸
a)CPU b)網路 c)磁碟IO d)記憶體
答案:C磁碟
首先叢集的目的是為了節省成本,用廉價的pc機,取代小型機及大型機。小型機和大型機有什麼特點?
1.cpu處理能力強
2.記憶體夠大
所以叢集的瓶頸不可能是a和d
3.如果是網際網路有瓶頸,可以讓叢集搭建內網。每次寫入資料都要通過網路(叢集是內網),然後還要寫入3份資料,所以IO就會打折扣。
同樣可以參考下面帖子的實際案例
叢集瓶頸為什麼磁碟io
7. 關於 SecondaryNameNode 哪項是正確的?
a)它是 NameNode 的熱備 b)它對記憶體沒有要求
c)它的目的是幫助 NameNode 合併編輯日誌,減少 NameNode 啟動時間
d)SecondaryNameNode 應與 NameNode 部署到一個節點
答案C。
D答案可以參考第三題
多選題:
8. 下列哪項可以作為叢集的管理?
a)Puppet b)Pdsh c)Cloudera Manager d)Zookeeper
答案ABD
具體可檢視
什麼是Zookeeper,Zookeeper的作用是什麼,在Hadoop及hbase中具體作用是什麼
9. 配置機架感知的下面哪項正確
a)如果一個機架出問題,不會影響資料讀寫
b)寫入資料的時候會寫到不同機架的 DataNode 中
c)MapReduce 會根據機架獲取離自己比較近的網路資料
答案ABC
具體可以參考
hadoop機架感知--加強叢集穩固性,該如何配置hadoop機架感知
10. Client 端上傳檔案的時候下列哪項正確
a)資料經過 NameNode 傳遞給 DataNode
b)Client 端將檔案切分為 Block,依次上傳
c)Client 只上傳資料到一臺 DataNode,然後由 NameNode 負責 Block 複製工作
答案B
分析:
Client向NameNode發起檔案寫入的請求。
NameNode根據檔案大小和檔案塊配置情況,返回給Client它所管理部分DataNode的資訊。
Client將檔案劃分為多個Block,根據DataNode的地址資訊,按順序寫入到每一個DataNode塊中。
具體檢視
HDFS體系結構簡介及優缺點
11. 下列哪個是 Hadoop 執行的模式
a)單機版 b)偽分散式 c)分散式
答案ABC
單機版,偽分散式只是學習用的。
12. Cloudera 提供哪幾種安裝 CDH 的方法
a)Cloudera manager b)Tarball c)Yum d)Rpm
答案:ABCD具體可以參考
Hadoop CDH四種安裝方式總結及例項指導
判斷題:
13. Ganglia 不僅可以進行監控,也可以進行告警。( 正確)
分析:
此題的目的是考Ganglia的瞭解。嚴格意義上來講是正確。
ganglia作為一款最常用的Linux環境中的監控軟體,它擅長的的是從節點中按照使用者的需求以較低的代價採集資料。但是ganglia在預警以及發生事件後通知使用者上並不擅長。最新的ganglia已經有了部分這方面的功能。但是更擅長做警告的還有Nagios。Nagios,就是一款精於預警、通知的軟體。通過將Ganglia和Nagios組合起來,把Ganglia採集的資料作為Nagios的資料來源,然後利用Nagios來發送預警通知,可以完美的實現一整套監控管理的系統。
具體可以檢視
完美叢集監控組合ganglia和nagios
14. Block Size 是不可以修改的。(錯誤 )
它是可以被修改的
Hadoop的基礎配置檔案是hadoop-default.xml,預設建立一個Job的時候會建立Job的Config,Config首先讀入hadoop-default.xml的配置,然後再讀入hadoop-site.xml的配置(這個檔案初始的時候配置為空),hadoop-site.xml中主要配置需要覆蓋的hadoop-default.xml的系統級配置。具體配置可以參考下
- <property>
- <name>dfs.block.size</name>//block的大小,單位位元組,後面會提到用處,必須是512的倍數,因為採用crc作檔案完整性校驗,預設配置512是checksum的最小單元。
- <value>5120000</value>
- <description>The default block size for new files.</description>
- </property>
15. Nagios 不可以監控 Hadoop 叢集,因為它不提供 Hadoop 支援。(錯誤 )
分析:
Nagios是叢集監控工具,而且是雲端計算三大利器之一
16. 如果 NameNode 意外終止,SecondaryNameNode 會接替它使叢集繼續工作。(錯誤 )
分析:
SecondaryNameNode是幫助恢復,而不是替代,如何恢復,可以檢視
hadoop 根據SecondaryNameNode恢復Namenode
17. Cloudera CDH 是需要付費使用的。(錯誤 )
分析:
第一套付費產品是Cloudera Enterpris,Cloudera Enterprise在美國加州舉行的 Hadoop 大會 (Hadoop Summit) 上公開,以若干私有管理、監控、運作工具加強 Hadoop 的功能。收費採取合約訂購方式,價格隨用的 Hadoop 叢集大小變動。
18. Hadoop 是 Java 開發的,所以 MapReduce 只支援 Java 語言編寫。(錯誤 )
分析:
rhadoop是用R語言開發的,MapReduce是一個框架,可以理解是一種思想,可以使用其他語言開發。
具體可以檢視
Hadoop簡介(1):什麼是Map/Reduce
19. Hadoop 支援資料的隨機讀寫。(錯 )
分析:
lucene是支援隨機讀寫的,而hdfs只支援隨機讀。但是HBase可以來補救。
HBase提供隨機讀寫,來解決Hadoop不能處理的問題。HBase自底層設計開始即聚焦於各種可伸縮性問題:表可以很“高”,有數十億個資料行;也可以很“寬”,有數百萬個列;水平分割槽並在上千個普通商用機節點上自動複製。表的模式是物理儲存的直接反映,使系統有可能提高高效的資料結構的序列化、儲存和檢索。
20. NameNode 負責管理 metadata,client 端每次讀寫請求,它都會從磁碟中讀取或則會寫入 metadata 資訊並反饋 client 端。(個人認為正確,歡迎提出其它意見 )分析:
1)檔案寫入
Client向NameNode發起檔案寫入的請求。
NameNode根據檔案大小和檔案塊配置情況,返回給Client它所管理部分DataNode的資訊。
Client將檔案劃分為多個Block,根據DataNode的地址資訊,按順序寫入到每一個DataNode塊中。
2)檔案讀取
Client向NameNode發起檔案讀取的請求。
NameNode返回檔案儲存的DataNode的資訊。
Client讀取檔案資訊。
具體檢視
hadoop中NameNode、DataNode和Client三者之間協作關係
21. NameNode 本地磁碟儲存了 Block 的位置資訊。( 個人認為正確,歡迎提出其它意見)
分析:
DataNode是檔案儲存的基本單元,它將Block儲存在本地檔案系統中,儲存了Block的Meta-data,同時週期性地將所有存在的Block資訊傳送給NameNode。
具體同樣檢視
hadoop中NameNode、DataNode和Client三者之間協作關係
22. DataNode 通過長連線與 NameNode 保持通訊。(錯誤 )
首先明確一下概念:
(1).長連線
Client方與Server方先建立通訊連線,連線建立後不斷開,
然後再進行報文傳送和接收。這種方式下由於通訊連線一直
存在,此種方式常用於點對點通訊。
(2).短連線
Client方與Server每進行一次報文收發交易時才進行通訊連
接,交易完畢後立即斷開連線。此種方式常用於一點對多點
通訊,比如多個Client連線一個Server.
23. Hadoop 自身具有嚴格的許可權管理和安全措施保障叢集正常執行。(錯誤 )
hadoop只能阻止好人犯錯,但是不能阻止壞人幹壞事
具體可檢視
hadoop安全性需不斷加強
24. Slave 節點要儲存資料,所以它的磁碟越大越好。( 錯誤)
分析:
一旦Slave節點宕機,資料恢復是一個難題
25. hadoop dfsadmin –report 命令用於檢測 HDFS 損壞塊。(錯誤 )
分析:
hadoop dfsadmin -report
用這個命令可以快速定位出哪些節點down掉了,HDFS的容量以及使用了多少,以及每個節點的硬碟使用情況。
當然NameNode有個http頁面也可以查詢,但是這個命令的輸出更適合我們的指令碼監控dfs的使用狀況
- Configured Capacity: 77209395855360 (70.22 TB)
- Present Capacity: 76079914600683 (69.19 TB)
- DFS Remaining: 60534707015680 (55.06 TB)
- DFS Used: 15545207585003 (14.14 TB)
- DFS Used%: 20.43%
- -------------------------------------------------
- Datanodes available: 107 (109 total, 2 dead)
- Name: 172.16.218.232:50010
- Rack: /lg/dminterface0
- Decommission Status : Normal
- Configured Capacity: 1259272216576 (1.15 TB)
- DFS Used: 185585852416 (172.84 GB)
- Non DFS Used: 39060951040 (36.38 GB)
- DFS Remaining: 1034625413120(963.57 GB)
- DFS Used%: 14.74%
- DFS Remaining%: 82.16%
- Last contact: Wed Nov 18 10:19:44 CST 2009
- Name: 172.16.216.126:50010
- Rack: /lg/dminterface2
- Decommission Status : Normal
- Configured Capacity: 661261402112 (615.85 GB)
- DFS Used: 123147280384 (114.69 GB)
- Non DFS Used: 8803852288 (8.2 GB)
- DFS Remaining: 529310269440(492.96 GB)
- DFS Used%: 18.62%
- DFS Remaining%: 80.05%
- Last contact: Wed Nov 18 10:19:46 CST 2009
26. Hadoop 預設排程器策略為 FIFO(正確 )
具體參考
Hadoop叢集三種作業排程演算法介紹
27. 叢集內每個節點都應該配 RAID,這樣避免單磁碟損壞,影響整個節點執行。(錯誤 )
分析:
首先明白什麼是RAID,可以參考百科磁碟陣列。
這句話錯誤的地方在於太絕對,具體情況具體分析。題目不是重點,知識才是最重要的。
因為hadoop本身就具有冗餘能力,所以如果不是很嚴格不需要都配備RAID。具體參考第二題。
28. 因為 HDFS 有多個副本,所以 NameNode 是不存在單點問題的。(錯誤 )
分析:
NameNode存在單點問題。瞭解詳細資訊,可以參考
Hadoop中Namenode單點故障的解決方案及詳細介紹AvatarNode
29. 每個 map 槽就是一個執行緒。(錯誤 )
分析:首先我們知道什麼是map 槽,map 槽->map slot
map slot 只是一個邏輯值 ( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是對應著一個執行緒或者程序
具體見:
hadoop中槽-slot是執行緒還是程序討論
30. Mapreduce 的 input split 就是一個 block。(錯誤 )
InputFormat的資料劃分、Split排程、資料讀取三個問題的淺析
31. NameNode 的 Web UI 埠是 50030,它通過 jetty 啟動的 Web 服務。(錯誤 )
分析:
根據下面,很顯然JOBTRACKER的 Web UI 埠是 50030
埠說明:
預設埠 設定位置
9000 namenode
8020 namenode
8021 JT RPC
50030 mapred.job.tracker.http.address JobTracker administrative web GUI
50070 dfs.http.address NameNode administrative web GUI
50010 dfs.datanode.address DataNode control port
50020 dfs.datanode.ipc.address DataNode IPC port, used for block transfer
50060 mapred.task.tracker.http.address Per TaskTracker web interface
50075 dfs.datanode.http.address Per DataNode web interface
50090 dfs.secondary.http.address Per secondary NameNode web interface
設定位置 描述資訊
namenode 互動埠
namenode RPC互動埠
JT RPC 互動埠
mapred.job.tracker.http.address JobTracker administrative web GUI JOBTRACKER的HTTP伺服器和埠
dfs.http.address NameNode administrative web GUI NAMENODE的HTTP伺服器和埠
dfs.datanode.address DataNode control port DATANODE控制埠,主要用於DATANODE初始化時向NAMENODE提出註冊和應答請求
dfs.datanode.ipc.address DataNode IPC port, used for block transfer DATANODE的RPC伺服器地址和埠
mapred.task.tracker.http.address Per TaskTracker web interface TASKTRACKER的HTTP伺服器和埠
dfs.datanode.http.address Per DataNode web interface DATANODE的HTTP伺服器和埠
dfs.secondary.http.address Per secondary NameNode web interface 輔助DATANODE的HTTP伺服器和埠
32. Hadoop 環境變數中的 HADOOP_HEAPSIZE 用於設定所有 Hadoop 守護執行緒的記憶體。它默
認是 200 GB。( 錯誤)
hadoop為各個守護程序(namenode,secondarynamenode,jobtracker,datanode,tasktracker)統一分配的記憶體在hadoop-env.sh中設定,引數為HADOOP_HEAPSIZE,預設為1000M。
具體參考hadoop叢集記憶體設定
33. DataNode 首次加入 cluster 的時候,如果 log 中報告不相容檔案版本,那需要 NameNode
執行“Hadoop namenode -format”操作格式化磁碟。(錯誤 )
分析:
首先明白介紹,什麼ClusterID
ClusterID
添加了一個新的識別符號ClusterID用於標識叢集中所有的節點。當格式化一個Namenode,需要提供這個識別符號或者自動生成。這個ID可以被用來格式化加入叢集的其他Namenode。
詳細內容可參考
hadoop叢集新增namenode的步驟及常識
以上答案通過多個資料驗證,對於資料不充分的內容,都標有”個人觀點“,給出本測試題抱著謹慎的態度,希望大家多批評指正。
轉載請註明:出自about雲http://www.aboutyun.com/thread-6787-1-1.html
相關推薦
hadoop面試題答案
Hadoop 面試題,看看書找答案,看看你能答對多少(2) http://www.cnblogs.com/yunkaifa/p/3538154.html 布衣神帝 1. 下面哪個程式負責 HDFS 資料儲存。 a)NameNode b)Jobtracker c)Datanode d)second
成為大數據頂尖程序員,先過了這些Hadoop面試題!(附答案解析)
大禮包 雲計 default blank mas 阻止 launcher inpu 建立 導讀:在大數據開發崗位的需求下,工資待遇水漲船高,不少編程人員在面對職業瓶頸期的時候,會選擇轉編程方向發展。你是否已經意識這是你人生中的一個重要轉機?能不能抓住這個時代的機遇,就在於你
98道常見Hadoop面試題及答案解析
1.3 下列哪個程式通常與 NameNode 在一個節點啟動?a)SecondaryNameNodeb)DataNodec)TaskTrackerd)Jobtracker答案 D,此題分析:hadoop 的叢集是基於 master/slave 模式,namenode 和 jobtracker 屬於 mast
Python 第一階段面試題答案
承接上一篇文章 此答案不是標準答案 1、 break 用在條件滿足即結束迴圈,跳出迴圈體,進行後面的程式 continue 結束本次迴圈,進行下次迴圈,需要把迴圈語句的每一個case都驗證一下,符合條件的case跳過,執行後面的迴圈中 return 跳出迴圈體所在的方法,相當於結束該方法
java面試題答案
前言 這個是我自己看的面試題,如果解答有問題,請指教 就是這個部落格提到面試題 面試題 作業系統中 heap 和 stack 的區別 堆的特點是類似於排隊:先進先出,後進後出,類似於商場排隊,使用於java的資料的儲存階段,用於儲存java 建立的變數
hadoop面試題整理(海哥每日默寫)
2018.11.26 1、HDFS讀寫流程 (1)寫資料流程 1).客戶端發出請求 hdfs dfs -put /etc/profile /qf/data 2).namenode檢視維護的目錄結構,檢查/qf/data是否存在,如不存在直接報錯”no such file or directo
面試題答案整理
反射的用途和實現? java中的反射機制是指對於任意一個類都能知道這個類的所有屬性和方法,對於任意一個物件都能知道他的方法,反射的主要用途是各個框架的實現 實現:1.獲取例項物件(三種實現) 1.類.class 2.物件.getclass 3.Class.forName(“完整路徑”)
2018年最常見的Python面試題&答案(上篇)
Python新手在謀求一份Python程式設計工作前,必須熟知Python的基礎知識。程式設計網站DataFlair的技術團隊分享了一份2018年最常見Python面試題合集,既有基本的Python面試題,也有高階版試題來指導你準備面試,試題均附有答案。面試題內容包括編碼、資
java基礎筆試面試題答案
1 String,StringBuffer,StringBuilder的區別String 字串常量 執行緒安全 操作少量資料 StringBuffer 字串變數 執行緒安全 操作大量資料 速度慢 多
java 面試題 答案(2018年)
1.jvm的理解: java虛擬機器記憶體分5個部分,程式計數器、java虛擬機器棧、本地方法棧、堆、方法區。 程式計數器記錄當前程式碼執行位置,進行程式碼流程控制,多執行緒時記錄當前執行緒執行的位置,從而記錄執行緒返回時上一次執行到哪了,程式計數器是一個很小的記憶體空間,每個執行緒都有一個
Hibernate面試題+答案
篇幅很長,請耐心閱讀和學習,希望對你有所幫助!1.下面不屬於持久化的是( a) A.把物件轉換為字串的形式通過網路傳輸,在另一端接收到這個字串後能把物件還原出來B.把程式資料從資料庫中讀出來 C.從XML配置檔案中讀取程式的配置資訊 D.把程式資料儲存為檔案 3.下面(a )
JAVA後臺面試題答案
答案: 1. Arrays.sort實現原理和Collection實現原理 答:Arrays.sort():快排 Collections.sort() :MergeSort,後來變成了TimSort 2. foreach和while的區別(編譯之後) 答:foreac
《劍指offer》面試題答案彙總(Java版)
面試題2:實現Singleton模式 (1)餓漢模式 public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){}
2017年5月iOS面試題答案總結(轉)
技術 最近正在準備換份工作, 看到網上有份題庫, 覺得不錯, 準備整理下, 複習下所學知識, 為面試做足準備, 下面是我整理了一上午的題庫答案, 希望能幫大家溫習下知識; 當然如果同為找工作的朋友, 也希望你能找到份誠心的工作;之後的答案已附下方, 謝謝大家(^__^) 嘻嘻…… 基礎 ① 什麼
Hadoop面試題整理(一)
lucene是支援隨機讀寫的,而hdfs只支援隨機讀。但是HBase可以來補救。HBase提供隨機讀寫,來解決Hadoop不能處理的問題。HBase自底層設計開始即聚焦於各種可伸縮性問題:表可以很“高”,有數十億個資料行;也可以很“寬”,有數百萬個列;水平分割槽並在上千個普通商用機節點上自動複
大資料之hadoop面試題4
2.23. 我們開發job時,是否可以去掉reduce階段。可以。設定reduce數為0 即可。2.24. datanode在什麼情況下不會備份datanode在強制關閉或者非正常斷電不會備份。2.25. combiner出現在那個過程出現在map階段的map方法後等。2.
Hadoop 面試題之storm (3)
storm怎麼完成對單詞的計數?(個人看完storm 後一直都認為他是流處理,好像沒有積攢資料的能力,都是處理完之後直接分發給下一個元件) 【SplitBolt接收SentenceSpout發射的tuple,它將每句話分割成每個單詞,並將每個單詞作為tuple發射。再次,WordCountBolt接收S
Hadoop 面試題 之Hive(4)
1.Hive 有哪些方式儲存元資料,各有哪些特點。 mysql ,自身帶的一個數據庫 15. Hive內部表和外部表的區別 最後歸納一下Hive中表與外部表的區別: 1、在匯入資料到外部表,資料並沒有移動到自己的資料倉庫目錄
hadoop面試題整理
1. 描述下Shuffle過程中分割槽? 2.簡單描述MapReduce不合適對哪些場景的使用? 3. 簡述Combiner 和partition的作用 (1).combine分為map端和reduce端,作用是把同一個key的鍵值對合並在一起,可以自定義的。 comb
大資料面試題hadoop部分及答案(16道)
1.Hadoop安裝步驟(九部曲)? 主從節點都要操作的: 1.在/etc/hosts下配置IP及主機名 2.建立hadoop使用者(同時配置hosts) 3.安裝jdk 4.配置環境變數/etc/profile 5.在主節點操作 (1)解壓並安裝