- Hadoop 3實戰指南
- 孫志偉
- 1503字
- 2021-06-15 16:02:45
前言
大數據作為一個不老的技術神話,依然活躍于各大公司和開源社區,其相關領域的各種工具琳瑯滿目,更新迭代速度非常迅速,其中Hadoop是較早流行的大數據處理工具之一,現在依然被廣泛使用。
我是在碩士研究生期間接觸Hadoop的,當時它剛剛流行,在許多領域獲得了高度認可。可在我即將畢業時,Spark憑借其高效內存計算和可迭代計算的優勢迅速趕超了Hadoop的熱度。而就在大家一窩蜂地去學習Spark,并沉浸在其高效性能的時候,近幾年Flink又兇猛地殺出了重圍,成為當下比較火的大數據技術之一。
面對這些新興的技術,我也曾一度迷茫,是否應該跟隨潮流去學習新技術。但是我感覺自己對Hadoop的掌握還遠遠不夠,所以就堅持了下來。隨著對Hadoop的學習不斷深入,在Hadoop的持續版本迭代中,我驚喜地發現它正在一統大數據底層平臺,這讓我看到了它的野心,看到了它登上霸主之位的希望。Hadoop提供了底層分布式存儲平臺HDFS和分布式資源管理平臺YARN,并開放了資源管理平臺,使之不斷地兼容各種應用,讓各種應用在YARN上呈現“百花齊放”的景象。
Hadoop 3.0已經發布一段時間了,我想研究它,并嘗試在工作中將之付諸實踐。然而,我發現市面上還未有相關書,故而萌生了寫這本書的想法,也把它介紹給曾經和我一樣迷茫的人。
因為我平時經常會寫博客,把工作與學習中的知識沉淀為文字記錄下來,所以在還沒動筆時感覺寫書應該不會太難。可當真正開始后,我才發現面臨的困難有很多,除了體會到自己還不夠專業,還體會到這里面包含著一份責任。書最終能夠成行靠的全是自己的毅力和來自家人朋友的支持。
由于本人能力有限,而且是利用業余時間寫作的,書中難免會有些筆誤或者理解不到位的地方,歡迎各位指正。
本書內容
本書一共分為5章,主要對HDFS、YARN、Application on YARN和工作實戰進行介紹,歸納如下。
- 第1章簡單介紹Hadoop,讓剛接觸Hadoop的讀者對它有基本的了解。為了更好地學習Hadoop,本章專門抽出一節詳細介紹了如何搭建Hadoop源碼閱讀環境、如何對Hadoop進行單元測試和如何斷點調試源代碼。
- 第2章介紹了HDFS,它是目前使用較多的分布式文件系統。這一章介紹了NameNode的原理以及HA,針對大規模集群橫向擴展的場景介紹了HDFS Federation和在HDFS 3.0中新增的特性,例如基于Router的Federation、糾刪碼副本策略和對象存儲系統Ozone。
- 第3章介紹了YARN,它是一個通用的資源管理平臺。這一章從應用管理和資源調度這兩個方面對其進行了介紹,首先針對應用管理介紹了ResourceManager的HA功能,然后針對資源調度介紹了中央調度器和分布式調度器,最后介紹了YARN 3.0中引入的一個小優化功能,即Shared Cache。
- 第4章介紹了Application on YARN(如何在YARN平臺中運行應用)。這一章以MapReduce為例介紹了如何將應用遷移到YARN平臺,最后以Spark on YARN為例介紹了非Hadoop的應用是如何兼容YARN模式的。
- 第5章給出一些工作實戰指南。首先,介紹了如何搭建生產可用的Hadoop 3.0集群;接著討論了如何將現有Hadoop 2.0集群升級到Hadoop 3.0,以及在升級過程中遇到的問題;然后說明了如何針對Hadoop進行二次開發,并參與社區,向社區貢獻代碼;最后,梳理了一個大數據平臺應該具備哪些必備組件和具體的實現架構。
致謝
首先感謝我的妻子,她是我堅強的后盾,是她讓我可以全心全意地投入到書的創作中。然后感謝我的父母,感謝他們犧牲自己的晚年時光來照顧我的這個小家。如果沒有妻子和父母的理解與支持,我也不可能完成這本書。
感謝我的導師帶我走入大數據的殿堂,使我能夠從事相關職業;也感謝在工作中給予我幫助的同事和朋友,是他們不斷地給我解答困惑,給我指明了前進的方向,使我在工作中不斷成長。還要特別感謝黃鵬程先生,感謝他的引薦,使我有幸能把自己的知識分享給更多的人。
感謝王軍花和王彥兩位編輯,她們在書稿的審核過程中給我提了非常多寶貴的建議,并且很耐心地解答我的問題。如果沒有她們的策劃和敦促,我也難以順利地完成此書。
感謝為本書做出貢獻的每一個人!
- MySQL數據庫進階實戰
- 復雜性思考:復雜性科學和計算模型(原書第2版)
- Voice Application Development for Android
- 企業大數據系統構建實戰:技術、架構、實施與應用
- 新型數據庫系統:原理、架構與實踐
- 醫療大數據挖掘與可視化
- R數據科學實戰:工具詳解與案例分析(鮮讀版)
- 城市計算
- 數據挖掘原理與SPSS Clementine應用寶典
- 金融商業算法建模:基于Python和SAS
- 活用數據:驅動業務的數據分析實戰
- Oracle高性能SQL引擎剖析:SQL優化與調優機制詳解
- Expert Python Programming(Third Edition)
- Hands-On Deep Learning for Games
- Artificial Intelligence for Big Data