Hadoop、Yarn、Spark是企業構建生產環境下大數據中心的關鍵技術,也是大數據處理的核心技術,是每一個雲計算大數據工程師必修課。html
大數據時代的精髓技術在於Hadoop、Yarn、Spark,是大數據時代公司和我的必須掌握和使用的核心內容。node
Hadoop、Yarn、Spark是Yahoo!、阿里淘寶等公司公認的大數據時代的三大核心技術,是大數據處理的靈魂,是雲計算大數據時代的技術命脈之所在,以Hadoop、Yarn、Spark爲基石構建起來雲計算大數據中心普遍運行於Yahoo!、阿里淘寶、騰訊、百度、Sohu、華爲、優酷土豆、亞馬遜等公司的生產環境中。程序員
Hadoop、Yarn、Spark三者相輔相成算法
n Hadoop中的HDFS是大數據時代公認的首選數據存儲方式;sql
n Yarn是目前公認的最佳的分佈式集羣資源管理框架;數據庫
n Spark是目前公認的大數據統一計算平臺;apache
Hadoop在雲計算大數據的發展早期作出了卓越的貢獻,對Hadoop的理解尤爲是從源碼角度掌握其架構和運行機制是每一個雲計算大數據從業人員的必修課;做爲目前公認的集羣資源管理和分配框架的Yarn發展到如今已經很是成熟了,在國內以淘寶爲引領者的公司把Yarn的使用推向了新的巔峯,做爲大數據從業者,Yarn是另一項必修技術;Spark是繼Hadoop以後,成爲替代Hadoop的下一代雲計算大數據核心技術,目前SPARK已經構建了本身的整個大數據處理生態系統,如流處理、圖技術、機器學習、Interactive Ad-Hoc Query等方面都有本身的技術,而且是Apache頂級Project,能夠預計的是2014年下半年到2015年在社區和商業應用上會有爆發式的增加,國外一些大型互聯網公司已經部署了Spark,甚至連Hadoop的早期主要貢獻者Yahoo如今也在多個項目中部署使用Spark;國內的淘寶、優酷土豆、網易、Sohu、Baidu、騰訊、皮皮網、華爲等已經使用Spark技術用於本身的商業生產系統中,國內外的應用開始愈來愈普遍。Spark正在逐漸走向成熟,並在這個領域扮演更加劇要的角色,剛剛結束的2014 Spark Summit上的信息,Spark已經得到世界20家頂級公司的支持,這些公司中包括Intel、IBM等,同時更重要的是包括了最大的四個Hadoop發行商(Cloudera, Pivotal, MapR, Hortonworks)都提供了對很是強有力的支持Spark的支持,尤爲是是Hadoop的頭號發行商Cloudera在2014年7月份宣佈「Impala’s it for interactive SQL on Hadoop; everything else will move to Spark」,具體連接信息http://t.cn/Rvdsukb,不得不提的是Spark的「One stack to rule them all」的特性,Spark的特色之一就是用一個技術堆棧解決雲計算大數據中流處理、圖技術、機器學習、交互式查詢、偏差查詢等全部的問題,此時咱們只須要一個技術團隊經過Spark就能夠搞定一切問題,而若是基於Hadoop就須要分別構建實時流處理團隊、數據統計分析團隊、數據挖掘團隊等,並且這些團隊之間不管是代碼仍是經驗都不可相互借鑑,會造成巨大的成本,而使用Spark就不存在這個問題;編程
工業和信息化部電信研究院於2014年5月發佈的「大數據白皮書」中指出:安全
「2012 年美國聯邦政府就在全球率先推出「大數據行動計劃(Big data initiative)」,重點在基礎技術研究和公共部門應用上加大投入。在該計劃支持下,加州大學伯克利分校開發了完整的大數據開源軟件平臺「伯克利數據分析軟件棧(Berkeley Data Analytics Stack),其中的內存計算軟件Spark的性能比Hadoop 提升近百倍,對產業界大數據技術走向產生巨大影響」性能優化
----來源:工業和信息化部電信研究院
2014 Spark Summit上結束以後,整個雲計算大數據就已經發聲鉅變:
1,2014年5月24日Pivotal宣佈了會把整個Spark stack包裝在Pivotal HD Hadoop發行版裏面。這意味這最大的四個Hadoop發行商(Cloudera, Pivotal, MapR, Hortonworks)都提供了對Spark的支持。http://t.cn/RvLF7aM星火燎原的開始;
2,Mahout前一階段表示從如今起他們將再也不接受任何形式的以MapReduce形式實現的算法,另一方面,Mahout宣佈新的算法基於Spark;
3,Cloudera的機器學習框架Oryx的執行引擎也將由Hadoop的MapReduce替換成Spark;
4,Google已經開始將負載從MapReduce轉移到Pregel和Dremel上;
5,FaceBook則將原來使用Hadoop的負載轉移到Presto上;
如今不少原來使用深度使用Hadoop的公司都在紛紛轉向Spark,國內的淘寶是典型的案例,國外的典型是Yahoo!,咱們以使用世界上使用Hadoop最典型的公司Yahoo!爲例,你們能夠從Yahoo!的數據處理的架構圖看出Yahoo!內部正在使用Spark:
不得不提的是Spark的「One stack to rule them all」的特性,Spark的特色之一就是用一個技術堆棧解決雲計算大數據中流處理、圖技術、機器學習、交互式查詢、偏差查詢等全部的問題,此時咱們只須要一個技術團隊經過Spark就能夠搞定一切問題,而若是基於Hadoop就須要分別構建實時流處理團隊、數據統計分析團隊、數據挖掘團隊等,並且這些團隊之間不管是代碼仍是經驗都不可相互借鑑,會造成巨大的成本,而使用Spark就不存在這個問題;
伴隨Spark技術的普及推廣,對專業人才的需求日益增長。Spark專業人才在將來也是煊赫一時,做爲Spark人員,須要掌握的技能模型以下:
本次課程由具備長期Hadoop、Yarn、Spark源碼研究和多個大數據中心構建經驗的Spark亞太研究院院長和首席專家主講,內容深刻淺出而直接源碼本質,以大數據案例實施和開發的視角帶領你們一睹雲計算大數據的核心精髓和最佳實踐。
一、 彙集大數據領域最核心的三大技術(Hadoop、Yarn、 Spark)
Hadoop方向50%:掌握生產環境下、源碼級別下的Hadoop經驗,幫助客戶解決性能、集羣的一些難點問題;
Yarn方向10%:掌握最佳的分佈式集羣資源管理框架,可以輕鬆使用Yarn管理Hadoop、Spark等;
Spark方向30%:將來統一的大數據框架平臺,剖析Spark架構、內核等核心技術及四大子框架和商業案例,一次性解決Spark開發中全部的問題
二、 課程內容接地氣,即解決當下的問題,有幫助企業駕馭將來
三、 課程會從本質架構級別入手,圍繞源代碼剖析,商業案例進行授課
一、 掌握構建大數據中心架構所需的實戰技術
二、 對Hadoop,yarn,spark的理解是本質級別的理解,對將來自學、解決生產環境難題會有很大的幫助
三、 10個世界級商業應用案例分享,開拓學員視野
四、 課程自己將從生產角度切人,從數據採集、構建生產系統入手
五、 課前會提供大量資料及環境構建,課後提供免費交流機會,如沙龍活動及課後學習包
對大數據有強烈興趣,可以讀懂Java等語言的基本語法;
---講師:
王家林:
Spark亞太研究院院長和首席專家,中國目前惟一的移動互聯網和雲計算大數據集大成者。
在Spark、Hadoop、Android等方面有豐富的源碼、實務和性能優化經驗。完全研究了Spark從0.5.0到0.9.1共13個版本的Spark源碼,並已完成2014年5月31日發佈的Spark1.0源碼研究。
Hadoop源碼級專家,曾負責某知名公司的類Hadoop框架開發工做,專一於Hadoop一站式解決方案的提供,同時也是雲計算分佈式大數據處理的最先實踐者之一;
Android架構師、高級工程師、諮詢顧問、培訓專家;
通曉Spark、Hadoop、Android、HTML5,迷戀英語播音和健美;
致力於Spark、Hadoop、Android、HTML5的軟、硬、雲整合的一站式解決方案;
超過10本的IT暢銷書做者;
Hadoop領域4個開創先河
1,全程覆蓋Hadoop的全部核心內容
2,全程注重動手實做,按部就班中掌握Hadoop企業級實戰技術
4,具有掌握Hadoop完整項目的分析、開發、部署的全過程的能力
Yarn領域的2個先河:
1, 第一個在生產環境的下解析Yarn的課程;
2, 細緻剖析Yarn實現的架構和源碼;
Spark領域開創6個世界第一:
1, 這是世界上第一個全程覆蓋以Spark爲核心的大數據的全部內容的課程:包含Scala、Spark、Spark與Hadoop的結合、企業生產環境下的商業案例、框架源碼剖析等;
2, 這是世界上第一個Spark大數據零基礎課程:學習此課程不須要任何基礎,全部的內容在課程中都會細緻的剖析,學員不須要額外學習任何內容,從零基礎到直到進入企業工做;
3, 這是世界上第一個全程注重動手實做的大數據課程:經過不斷的案例實踐的按部就班中掌握Spark企業級實戰技術;
4, 這是世界上第一個完全而系統的講解Spark 1.0的課程:根據Spark的最新穩定版本,包括Spark集羣的構建,Spark架構設計、Spark內核剖析、Shark、Spark SQL、Spark Streaming、圖計算GraphX、機器學習、Spark on Yarn、JobServer等;
5, 這是世界上第一個使用Spark商業案例教學的課程:展現企業線上生產系統中應用Spark的成功案例,以及與現有企業BI平臺整合的方案 ;
6, 這是世界上第一個講解Spark與Hadoop完美結合的課程:目前而言,在世界的生產環境中每每是Spark和Hadoop並存,如何駕馭這種並存架構,在課程中給出了完美的解答,尤爲是經過企業案例講解,以達到最優化使用大數據系統潛能的目的;
---講師:
王家林:
Spark亞太研究院院長和首席專家,中國目前惟一的移動互聯網和雲計算大數據集大成者。
在Spark、Hadoop、Android等方面有豐富的源碼、實務和性能優化經驗。完全研究了Spark從0.5.0到0.9.1共13個版本的Spark源碼,並已完成2014年5月31日發佈的Spark1.0源碼研究。
Hadoop源碼級專家,曾負責某知名公司的類Hadoop框架開發工做,專一於Hadoop一站式解決方案的提供,同時也是雲計算分佈式大數據處理的最先實踐者之一;
Android架構師、高級工程師、諮詢顧問、培訓專家;
通曉Spark、Hadoop、Android、HTML5,迷戀英語播音和健美;
致力於Spark、Hadoop、Android、HTML5的軟、硬、雲整合的一站式解決方案;
超過10本的IT暢銷書做者;
聯繫郵箱:18610086859@126.com
聯繫電話:18610086859
Total Hadoop Professional |
|
培訓對象 |
1,對雲計算、分佈式數據存儲於處理、大數據等感興趣的朋友 2,傳統的數據庫,例如Oracle、MaySQL、DB2等的管理人員 3,Java、C等任意一門編程語言的開發者; 4,網站服務器端的開發人員 5,在校大學生、中專生或者剛畢業的學生 6,雲計算大數據從業者; 7,熟悉Hadoop生態系統,想了解和學習Hadoop與Spark整合在企業應用實戰案例的朋友; 8,系統架構師、系統分析師、高級程序員、資深開發人員; 9,牽涉到大數據處理的數據中心運行、規劃、設計負責人; 10,政府機關,金融保險、移動和互聯網等大數據來源單位的負責人; 11,高校、科研院所涉及到大數據與分佈式數據處理的項目負責人; 12,數據倉庫管理人員、建模人員,分析和開發人員、系統管理人員、數據庫管理人員以及對數據倉庫感興趣的其餘人員; |
參加課程基礎要求 |
對雲計算有強烈的興趣,可以看懂基本的Java語法。 |
培訓後的目標能力 |
直接上手Hadoop工做,具有直接勝任Hadoop開發工程師的能力;輕鬆駕馭以Spark爲核心的雲計算大數據實戰技術,從容解決95%以上的雲計算大數據業務需求; |
培訓技能目標 |
• 完全理解Hadoop表明的雲計算實現技術的能力 • 具有開發本身網盤的能力 • 具有修改HDFS具體源碼實現的能力 • 具有掌握Pig企業級開發和管理的能力 • 具有掌握Hive企業級開發和管理的能力 • 掌握Spark的企業級開發的全部核心內容,包括Spark集羣的構建,Spark架構設計、Spark內核剖析、Shark、Spark SQL、Spark Streaming、圖計算GraphX、機器學習、Spark on Yarn、JobServer等; • 掌握Spark和Hadoop協同工做,可以經過Spark和Hadoop輕鬆應對大數據的業務需求; • 掌握企業線上生產系統中應用Spark /Hadoop成功案例,以及與現有企業BI平臺整合的方案; |
培訓職業目標 |
• Hadoop工程師,可以開發的Hadoop分佈式應用 • Hadoop完整項目的分析、開發、部署的全過程的能力 • Spark高級工程師 • 大數據項目總負責人 • 雲計算大數據CTO |
培訓內容
時間 |
內容 |
備註 |
第一天 |
第1個主題:Hadoop三問(完全理解Hadoop) 一、Hadoop爲何是雲計算分佈式大數據的事實開源標準軟件框架? 二、Hadoop的具體是如何工做? 三、Hadoop的生態架構和每一個模塊具體的功能是什麼?
第2個主題:Hadoop集羣與管理(具有構建並駕馭Hadoop集羣能力) 一、 Hadoop集羣的搭建 二、 Hadoop集羣的監控 三、 Hadoop集羣的管理 四、集羣下運行MapReduce程序
第3主題:完全掌握HDFS(具有開發本身網盤的能力) 一、HDFS體系架構剖析 二、NameNode、DataNode、SecondaryNameNode架構 三、保證NodeName高可靠性最佳實踐 四、DataNode中Block劃分的原理和具體存儲方式 五、修改Namenode、DataNode數據存儲位置 六、使用CLI操做HDFS 七、使用Java操做HDFS
第4主題:完全掌握HDFS(具有修改HDFS具體源碼實現的能力) 一、RPC架構剖析 二、源碼剖析Hadoop構建於RPC之上 三、源碼剖析HDFS的RPC實現 四、源碼剖析客戶端與與NameNode的RPC通訊
|
|
時間 |
內容 |
備註 |
次日 |
第1個主題:完全掌握MapReduce(從代碼的角度剖析MapReduce執行的具體過程並具有開發MapReduce代碼的能力) 一、MapReduce執行的經典步驟 二、wordcount運行過程解析 三、Mapper和Reducer剖析 四、自定義Writable 五、新舊API的區別以及如何使用就API 六、把MapReduce程序打包成Jar包並在命令行運行
第2個主題:完全掌握MapReduce(具有掌握Hadoop如何把HDFS文件轉化爲Key-Value讓供Map調用的能力) 一、Hadoop是如何把HDFS文件轉化爲鍵值對的? 二、源碼剖析Hadoop讀取HDFS文件並轉化爲鍵值對的過程實現 三、源碼剖析轉化爲鍵值對後供Map調用的過程實現
第3個主題:完全掌握MapReduce(具有掌握MapReduce內部運行和實現細節並改造MapReduce的能力) 一、Hadoop內置計數器及如何自定義計數器 二、Combiner具體的做用和使用以及其使用的限制條件 三、Partitioner的使用最佳實踐 四、 Hadoop內置的排序算法剖析 五、自定義排序算法 六、 Hadoop內置的分組算法 七、自定義分組算法 八、 MapReduce常見場景和算法實現
第4個主題:Hadoop集羣高級實踐(具體Hadoop企業管理員的實際能力) 一、動態增長Hadoop的Slave節點 二、動態修改Hadoop的Replication數目 三、使用命令管理Hadoop集羣實踐 四、剖析Hadoop的安全模式 五、日誌剖析實踐
|
|
時間 |
內容 |
備註 |
第三天
|
第1個主題:實戰ZooKeeper(具有理解並經過命令行和Java兩種方式操做ZooKeeper的能力) 一、ZooKeeper架構剖析及集羣搭建 二、使用命令行操做ZooKeeper 三、使用Java操做ZooKeeper
第2個主題:實戰HBase(具有掌握HBase企業級開發和管理的能力) 一、HBase架構實現 二、HBase的數據模型和存儲模型 三、使用CLI操做HBase 四、使用Java操做HBase 五、使用MapReduce代碼向HBase中導入批量數據
第3個主題:實戰Pig(具有掌握Pig企業級開發和管理的能力) 一、Pig架構 二、使用Pig操做數據的內幕 三、使用Pig實例數據
第4個主題:實戰Hive(具有掌握Hive企業級開發和管理的能力) 一、Hive架構剖析 二、Hive在HDFS中存儲實現 三、使用MySQL做爲Hive的Metastore 四、內部表、分區表、外部表、桶表 五、視圖 六、自定義Hive的函數
|
|
時間 |
內容 |
備註 |
第四天
|
第1個主題:實戰Sqoop(具有使用Sqoop自由轉換傳統關係型數據庫和HDFS中數據的能力) 一、Sqoop架構 二、實戰Sqoop把MySQL中的數據導入到HDFS中 三、實戰Sqoop把HDFS中的數據導入到MySQL中 四、定義Sqoop任務
第2個主題:實戰Flume(具有使用Flume收集和管理分佈式日誌的能力) 一、Flume架構體系剖析 二、Agent配置信息 三、動態監控文件夾中文件的變化 四、把數據導入到HDFS中 五、實例監控文件夾文件的變化並把數據導入到HDFS中
第3個主題:Hadoop系統管理進階(具有掌握MapReduce內部運行和實現細節並改造MapReduce的能力) 一、Hadoop的安全模式 二、系統監控 三、系統維護 四、委任節點和接觸節點 五、系統升級 六、更多的系統管理工具實戰 七、系統管理最佳實踐
第4個主題:電信日誌項目(具有掌握Hadoop完整項目的分析、開發、部署的全過程的能力) 經過電信商蒐集用戶接打電話、上網等產生的日誌對用戶的電話和網絡行爲進行分析和監控,初步貫穿前面講解的主要內容,使你們熟悉Hadoop一個完整項目的分析、開發、部署的全過程。
第5個主題:某知名電商公司Hadoop實施全程揭祕(具有掌握商業級別Hadoop的分析、開發、部署的全過程的能力) 經過電商公司現場案例展現商業級別一個完整項目的分析、開發、部署的全過程 |
|
第五天 |
第1個主題:YARN(具有理解和使用YARN的能力) 一、YARN的設計思想 二、YARN的核心組件 三、YARN的共組過程 四、YARN應用程序編寫
第2個主題:Yarn資源調度器(具有理解和使用YARN的能力) 一、YARN資源調度架構 二、層級隊列 三、Capacity Scheduler 四、Fair Scheduler
第3個主題:ResourceManager深度剖析(具有深入理解ResourceManager的能力) 一、ResourceManager的架構 二、ClientRMService 與AdminService 三、NodeManager 四、Container 五、Yarn的 HA機制
第4個主題:NodeManager深度剖析(具有掌握NodeManager及Container的能力) 一、NodeManager架構 二、Container Management 三、Container lifecycle 四、資源管理與隔離 |
|
第六天 |
第1堂課:Spark的架構設計(具有掌握Spark架構的能力)
1.1 Spark生態系統剖析 1.2 Spark的架構設計剖析 1.3 RDD計算流程解析 1.4 Spark的出色容錯機制
第2堂課:Spark編程模型(具有掌握編程核心的能力)
2.1 RDD 2.2 transformation 2.3 action 2.4 lineage 2.5寬依賴與窄依賴
第3堂課:深刻Spark內核(具有掌握Spark內核的能力)
3.1 Spark集羣 3.2 任務調度 3.3 DAGScheduler 3.4 TaskScheduler 3.5 Task內部揭祕
第4堂課:Spark的廣播變量與累加器(具有掌握Spark廣播和累加器的能力)
4.1 廣播變量的機制 4.2 廣播變量使用最佳實踐 4.3 累加器的機制 4.4 累加器使用的最佳實踐
第5堂課:Spark多語言編程(具有掌握多語言編程的能力)
5.1 PySpark API 5.2 使用 Python編寫Spark程序 5.3 Java 8的函數式編程 5.4 使用Java 8編寫Spark程序 5.5 Spark編程語言最佳選擇:Scala 5.6 用Scala演繹Spark編程藝術
第6堂課:SparkContext解析和數據加載以及存儲(具有掌握Spark加載以處理數據的能力)
6.1 源碼剖析SparkContext 6.2 Scala、Java、Python使用SparkContext 6.4 加載數據成爲RDD 6.5 把數據物化 |
|
時間 |
內 容 |
備註 |
第七天 |
第7堂課:深刻實戰RDD(具有掌握Spark RDD深刻處理計算和優化計算的能力)
7.1 DAG 7.2 深刻實戰各類Scala RDD Function 7.3 Spark Java RDD Function 7.4 RDD的優化問題
第8堂課:Shark的原理和使用(具有掌握Shark用於數據分析統計的能力)
8.1 Shark與Hive 8.2 安裝和配置Shark 8.3 使用Shark處理數據 8.4 在Spark程序中使用Shark Queries 8.5 SharkServer 8.6 思考Shark架構
第9堂課:Spark的機器學習(具有掌握Spark的機器學習的能力)
9.1 LinearRegression 9.2 K-Means 9.3 Collaborative Filtering
第10堂課:Spark的圖計算GraphX(具有掌握Spark圖計算的能力)
10.1 Table Operators 10.2 Graph Operators 10.3 GraphX
第11堂課:Spark SQL(具有掌握Spark SQL進行的能力)
11.1 Parquet支持 11.2 DSL 11.3 SQL on RDD
|
|
時間 |
內 容 |
備註 |
第八天 |
第12堂課:Spark實時流處理(具有掌握Spark 實時流處理技術的能力) 12.1 DStream 12.2 transformation 12.3 checkpoint 12.4 性能優化
第13堂課:Spark程序的測試(具有掌握Spark程序測試的能力) 13.1 編寫可測試的Spark程序 13.2 Spark測試框架解析 13.3 Spark測試代碼實戰
第14堂課:Spark的優化(具有掌握Spark優化的能力) 14.1 Logs 14.2 併發 14.3 內存 14.4 垃圾回收 14.5 序列化 14.6 安全
第15堂課:Spark on Yarn(具有掌握Spark on Yarn的能力) 15.1 Spark on Yarn的架構原理 15.2 Spark on Yarn的最佳實踐
第16堂課:JobServer(具有掌握Spark as a cloud service的能力) 16.1 JobServer的架構設計 16.2 JobServer提供的接口 16.3 JobServer最佳實踐
第17堂課:Spark項目案例實戰(具有掌握Spark項目進行數據處理的能力) 17.1 Spark項目的最佳架構模式 17.2 案例的介紹和架構 17.3 案例的源碼實現 17.4 調優 |