Tcloud 這次很榮幸請到Hortonworks 亞太區Technical Director Jeff 來台灣演講,這次他分享的題目是Hadoop 2.0 - Tez, Stinger, Knox & Falcon,Hadoop 2.0 GA 也已經一段時間了,但是到底有做了怎樣的改變呢?常常聽到Hadoop 2.0 產生了許多新名詞和新的子專案,到底有哪些,個是什麼意思?現在正夯的Real Time Query Solution對於Hadoop 2.0 會有有什麼影響?....我們有很多問題,而Jeff 這個Talk 的確解答了我們很多的問題,且讓我分成幾個篇幅來分享我所聽到與了解的內容。
YARN
Hadoop 2.0 最大的改變就應該就是加入了YARN的架構,而任何新技術的產生通常都是為了解決特定的問題,那我們不禁要問YARN要解決的是什麼問題呢?
YARN要解決的就是資源分配的問題,些問題大多來自於擁有超大型Hadoop叢集的重度使用者,像是Yahoo、Facebook...等公司,在這些公司他們使用(or 測試)發現了Hadoop 1.x 所會遇到的問題甚至是瓶頸與極限:
- Hadoop 1.x 的Cluster 所能管理與有效使用的node數量大概是4000個,如何能擴展成更大的Cluster?或是在限制內更有效運用資源?
- 越來越多廠商把Hadoop 建立在虛擬化架構上(or Cloud),如何有效運用資源(Cost Effective)?如何增加使用率(Better Utilization)? Hadoop Cluster 閒置時我是否可以拿來做其他運用?
- 為了避免Hbase Region Server的Resource 資源被Map Reduce 吃掉,所以一般建議的Use case都會把Hbase 和 Hadoop 兩個Cluster 獨立開來,但是這樣不就失去了Hadoop Process on Data 的概念嘛?是否有有效讓Hbase 和 Hadoop 共存呢?
因此YARN 就是把整個監控的視野提升到整個System Level,把其他所有Application 都納入控管的範圍。
更多Container 的概念可以參考董博的 - 深入理解YARN Container的概念
Tez
- 就算是連續的運算(運算Input Depend on 上一個運算結果),每次的中減產出結果都必須先寫回HDFS
- 每次啟動Task的成本太高,每個Iteration都必須重新啟動新的Task,Iteration越多成本越高效能越遭。
- 打造Always On 的MapReduce,讓Task繼續保留不會因為每個階段的工作做完就要重啟Task。
-
Tez avoids unneeded write to HDFS
圖片來源:hortonwork
- Apache Tez: A New Chapter in Hadoop Data Processing
- Data Processing API in Apache Tez
- Runtime API in Apache Tez
- Writing a Tez Input/Processor/Output
- Apache Tez: Dynamic Graph Reconfiguration
- Reusing containers in Apache Tez
- Introducing Tez Sessions
Next:New Techs of Hadoop 2.0: Tez, Stinger, Knox & Falcon (2)
沒有留言:
張貼留言