《MapReduce and YARN》課程第一周之Introduction MR問題集
課程地址:MapReduce and YARN
1. mapreduce和普通程序的數據流向有什麼不同?普通程序是把數據拿到本地處理。
mapreduce是把程序分發到數據存儲的機器,來執行。
2.HDFS是如何工作的?
3.MapReduce的基本原理?4.Hadoop的默認副本是幾個?有分布上的要求嘛?
默認3個,在同樣rack上的有2個,另外一個在另外的rack。
5.MapReduce是哪種演算法思想?
Divide and Conquer。
6.什麼是speculative task?它是為了解決什麼問題?
Speculative Task,又叫推測式任務,是指在分散式集群環境下,因為程序bug,負載不均衡或者資源分布不均,造成同一個job的多個task運行速度不一致,有的task運行速度明顯慢於其他task(比如:一個job的某個task進度只有10%,而其他所有task已經運行完畢),則這些task拖慢了作業的整體執行進度,為了避免這種情況發生,Hadoop會為該task啟動speculative task,讓該speculative task與原始task同時運行,哪個先運行完,則使用它的結果。
Speculative Task思路是以空間換時間的,同時啟動多個相同task,哪個完成的早,則採用哪個task的結果,這樣明顯可以提高任務計算速度,但是,這樣卻會佔用更多的資源,在集群資源緊缺的情況下,合理的控制Speculative Task,可在多用少量資源情況下,減少大作業的計算時間。
7.Hadoop默認的調度策略是什麼?
FIFO,可以後五個可選的優先順序。
8.Hadoop還有什麼其他的調度策略?
add-ins; Fair Scheduler; Capacity Scheduler
9.MapReduce的過程?
10.API和執行環境?執行環境分為Hadoop v1(mapreduce v1)和YARN(mapreduce v2)。
推薦閱讀:
※有什麼方案可以代替 Impala?
※大數據那些事(8):HIVE之初期起
※分散式資料庫下子查詢和join等複雜sql如何實現?
※世界沉醉在數據里
※數據之路(Hadoop)我該如何打好基礎?
TAG:Hadoop |