|
-- 會員 / 註冊 --
|
|
|
|
寫給大忙人的Hadoop 2 ( 簡體 字) |
作者:盧濤,李穎 | 類別:1. -> 程式設計 -> 雲計算 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 44240 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:5/1/2016 |
頁數:288 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121288050 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:Apache Hadoop 2引進了加工和處理數據的新方法,這些方法都超越了原始Hadoop實現的基本MapReduce范式。本書詳盡地介紹了Hadoop 2中的概念和工具,無論是Hadoop新人或曾使用過早期版本的經驗豐富的專業人員,都能從中獲益。 在過去的幾年中,在原Hadoop項目的保護傘下已經誕生了許多項目,這些項目在與原始Hadoop項目保持良好集成的同時,還使得存儲、處理和收集大量數據更為便利。本書介紹了許多在此更大的Hadoop生態系統中的項目,向讀者提供高層次基礎知識,引導他們使用滿足自己需求的工具來開展工作。 本書很多內容是Doug Eadline根據他廣受歡迎的Hadoop Fundamentals Live Lessons視頻系列改編而成的。然而,他的資歷不僅于此。Doug與人合著了Apache Hadoop? YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop?2一書,對于介紹Hadoop 2的覆蓋范圍和它給用戶帶來的新功能,幾乎無人比他更有資格。 我激動地看到Doug用他涵蓋Hadoop及其相關項目的書為本叢書帶來巨大的知識財富。對于希望了解更多有關Hadoop可以幫助他們解決問題的新人,以及希望了解升級到最新版本的好處的現有用戶,本書都將是很好的資料。
—— Paul Dix,叢書編輯
前言
Apache Hadoop 2 已改變了數據分析的格局。Hadoop 2生態系統已經超越了單一的MapReduce 數據處理方法論和框架。也就是說,Hadoop2為Hadoop1的方法論提供幾乎任何類型的數據處理,并且與第1版的脆弱 MapReduce范式完全向后兼容。 這種變化已經對數據處理和數據分析的許多領域產生了顯著的影響。聯機數據的數量增長要求有可擴展的數據分析新方法。正如第1章將要討論的,Hadoop數據湖的概念體現了從許多既定的方法向聯機數據的使用和儲存的范式轉變。Hadoop2安裝的是一個可擴展的平臺,它可以成長并同時適應數據量的增加及新處理模型的使用。 因此,“Hadoop方法”非常重要,并且不應該被作為一個簡單的只有“一技之長”的大數據應用程序。此外,Hadoop開放源代碼的性質和很多周邊的生態系統為它的采用提供了一個重要激勵。感謝Apache軟件基金會(ASF),Hadoop一直是一個開放源碼項目,其內部運作機制是對所有人都開放的。開放模型使得供應商和用戶擁有一個共同的目標,而不存在可能的封鎖或法律障礙致使像Hadoop那樣一個龐大而重要的項目分裂。本書中使用的所有軟件都是開源的,并且是免費提供的。指向這些軟件的鏈接位于每一章末尾和附錄C中。 本書重點 正如書名所示,本書是寫給大忙人的Hadoop 2。根據設計,大多數主題都是概述性的,它們用一個示例來說明,并保留一些未盡事宜。事實上,這里的許多工具和主題都在別處被作為完全獨立的書來介紹。因此,編寫這種快速入門指南的最大障礙是,在決定不包括哪些內容的同時,又讓讀者領會到哪些內容是重要的。 為此,所有主題都按照我稱之為hello-world.c經驗的方式來設計。那就是,首先提供工具或服務的作用的一些背景知識,然后提供可以讓讀者快速入門的從頭到尾的示例,最后提供可以找到額外的信息和更多細節的資源。這種方法允許讀者對簡單的工作示例進行更改,并實現變化,使之變成能解決讀者特定問題的某種東西。對于我們大多數人來說,我們的編程經驗都是從對工作示例進行增量更改開始的——所以本書中的方法應該是大家所熟悉的。 本書的受眾 本書是為那些想要了解Hadoop 2,但又不想陷入技術細節的讀者準備的。新用戶、系統管理員和開發運維人員都應該能夠通過瀏覽本書快速獲得很多重要的Hadoop主題和工具。尤其是,缺乏Hadoop經驗的讀者應該發現本書非常有用,即使他們沒有Java編程經驗也沒關系。讀者最好具備使用Linux命令行工具的經驗,因為所有示例都涉及用命令行與Hadoop交互。 當前正在使用Hadoop1的用戶和管理員也能從本書獲得有價值的知識。Hadoop2的變化是非常重大的,同時,本書對YARN和MapReduce 框架的一些變化的討論也是非常重要的。 本書的結構 本書的基本結構改編自Addison-Wesley出版的我的視頻教程——Hadoop Fundamentals Live Lessons(2e)和Apache Hadoop YARN Fundamentals Live Lessons,書中幾乎所有的示例都能在視頻中找到同樣的。有些讀者可能會發現,把觀看視頻教程與閱讀本書結合起來效果更好,因為我仔細地逐句執行了所有的示例。 本書從Apache Hadoop ? YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop? 2一書中借用了幾個小部分,那是我與人合著的。如果讀者想要研究更多的YARN應用開發細節,可以考慮閱讀那本書并觀看其配套視頻。 本書大部分內容使用了適用于Hadoop的Hortonworks數據平臺(HDP)。HDP是由Hortonworks提供的完全開源的Hadoop發布版本。雖然也可以下載并安裝核心Hadoop系統和工具(第2章中將討論),但使用集成的發布版本減少了“自己動手”的方法可能產生的很多問題。此外,Apache Ambari是不容錯過的出色安裝和管理圖形化的工具,并且它支持Hortonworks HDP軟件包。本書使用HDP 2.2和Ambari 1.7描述。就在我寫這篇序言時,Hortonworks剛剛宣布發布配備Apache Ambari 2.0的HDP 2.3版。(站在Hadoop 世界的曲線前沿要做那么多工作!)幸運的是,它的基本原理保持不變,所有示例仍然都是切題的。 本書中各章的安排,便于為讀者提供靈活的介紹。在附錄B“開始流程圖和故障排除指南”中,有兩條路徑可以遵循:閱讀第1章、第3章和第5章,然后開始運行示例,或直接跳到第4章運行其中的示例。如果你沒有Hadoop環境,第2章提供在各種系統,包括筆記本電腦或臺式計算機、集群,甚至在云上安裝Hadoop的方法。可能在運行完示例之后,你會再回過頭來閱讀背景知識的章節。 第1章提供有關Hadoop技術和歷史的基本背景知識。介紹Hadoop數據湖并概述Hadoop1中的MapReduce過程。介紹了在Hadoop 2中的巨大變化,并把YARN資源管理器作為幾乎任何計算模型的前進方向來介紹。最后,簡要概述了組成Hadoop生態系統的很多軟件項目。這一章為本書余下的部分提供了基礎。 如果你需要訪問一個Hadoop系統,第2章提供了一系列的安裝攻略。它也解釋了核心Hadoop服務及其配置方法。本章對選擇硬件和軟件環境提供了常規建議,但它的重點是提供一個平臺來了解Hadoop。幸運的是,有兩種方法可以做到這一點,不需要購買或租用任何硬件。Hortonworks Hadoop沙箱提供了一個可以在幾乎任何平臺上運行的Linux虛擬機。沙箱是完整的Hadoop安裝,并提供了用以研究Hadoop的環境。作為沙箱的替代方法,在一臺Linux機器上的Hadoop安裝也能提供一個學習平臺并提供一些Hadoop核心組件的解釋。第2章還涉及集群方式安裝,它采用Apache Ambari用于本地集群安裝,或使用Apache Whirr進行云部署。 所有的Hadoop應用程序都使用Hadoop分布式文件系統(HDFS)。第3章介紹了一些基本的HDFS功能并提供了有關如何瀏覽和使用文件系統的快速提示。本章也有一些 HDFS編程的示例。它提供重要的背景知識,這些應該在嘗試后面的章節中的示例之前查閱。 第4章通過逐步講解提供了Hadoop實例和基準測試的展示說明。作為一種觀察應用進展的方式,對Hadoop資源管理器的Web圖形用戶界面進行了介紹。本章最后總結了控制Hadoop MapReduce作業的一些技巧。學習這一章可以了解Hadoop應用程序運行和操作的方式。 雖然MapReduce編程模型在本質上是簡單的,但它在集群上運行會出現一些混亂。第5章使用簡單的示例提供了MapReduce編程模型的基本簡介。本章用一個簡化的并行Hadoop MapReduce過程演練來總結。本章還將幫助你了解基本的Hadoop MapReduce術語。 如果你對Hadoop底層編程感興趣,第6章介紹了Hadoop MapReduce編程。它涵蓋了幾種基本方法,包括Java、Python流接口和C++管道接口。它還用一個簡短的示例說明了如何查看應用程序日志。本章對于使用Hadoop不是必需的。事實上,許多Hadoop用戶都是從第7章討論的高級別工具開始起步的。 雖然許多應用程序已被編寫為在原生的Hadoop Java接口上運行,但還有種類繁多的工具都提供高層次的編程和數據移動方法。第7章通過實例介紹了必需的Hadoop工具,包括Apache Pig(腳本語言)、Apache Hive(類似SQL的語言)、Apache Sqoop(RDMS 導入/導出)和Apache Flume(串行數據導入)。還提供一個示例來演示如何使用Oozie工作流管理器。本章最后以Apache HBase(BigTable的數據庫)的示例結束。 如果你有興趣學習更多關于Hadoop YARN應用程序的內容,第8章介紹了Hadoop的非MapReduce應用程序。YARN分布式Shell,給出一個簡單的示例,進行包括YARN應用程序如何在Hadoop2下工作的討論。本章還提供了最新的非MapReduce YARN應用程序的描述。 如果你用第2章的Apache Ambari安裝Hadoop,第9章介紹了其功能并提供了一些示例來演示如何在真正的Hadoop集群上使用Ambari。本章也給出了重新啟動Hadoop服務和更改全系統Hadoop屬性的Ambari功能和流程。本章所述的基本步驟將在第10章中用來對集群做出管理性更改。 第10章提供了一些基本的Hadoop管理性程序。管理員可在本章找到基本流程和建議信息,其他用戶也可以從本章學到如何針對其工作負載來配置HDFS、YARN和容量調度程序。 有關本書配套網頁的信息、入門流程圖和常規的Hadoop故障排除指南,請參考附錄。附錄還包括資料總結頁和安裝Apache Hue(一種高級別Hadoop圖形用戶界面)和Apache Spark(一種流行的非MapReduce編程模型)的步驟。 最后,Hadoop生態系統繼續迅速增長。本書有意不包括許多現有的Hadoop應用程序和工具,因為若將其列入,本書將變成更冗長和更拖沓的Hadoop 2簡介。并且,還有更多的工具和應用程序正在形成!簽于Hadoop生態系統的動態性,本書介紹Apache Hadoop 2的宗旨是為了指明方向和一些重要的關鍵點,以便幫助讀者研究Hadoop 2數據湖。 本書約定 代碼和文件參考都采用等寬字體顯示。因為太長而無法在一行中容納的代碼輸入行,在本書中都用續行符號:?表示。在頁邊界換行的長輸出行則沒有此符號。 配套代碼 請參閱附錄A“本書網頁和代碼下載”,獲得本書中使用的所有代碼的地址。
關于作者 Douglas Eadline,博士,作為一個Linux集群HPC革命的踐行者和記錄者開始他的職業生涯,而現在他在記錄大數據分析。從開始第一份操作文檔以來,道格寫了數百篇文章、白皮書,以及說明文檔,涵蓋高性能計算(HPC)的幾乎所有方面。在2005年啟動和編輯頗受歡迎的ClusterMonkey.net網站之前,他擔任ClusterWorld雜志的主編,并曾是Linux雜志的HPC資深編輯。 他具有多方面的HPC實際操作經驗,包括硬件和軟件設計、基準測試、存儲、GPU、云計算和并行計算。 目前,他是一名作家和 HPC 行業顧問,并且是Limulus個人集群項目(http://limulus.basement-supercomputing.com)的領導。他是Addison-Wesley出版的Hadoop Fundamentals LiveLessons和Apache Hadoop YARN Fundamentals LiveLessons教學視頻的作者和Apache Hadoop?YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop?2一書的合著者。 |
內容簡介:本書首先介紹了Hadoop的背景知識,包括Hadoop 2和YARN的工作原理和對Hadoop 1的改進,然后將數據湖與傳統存儲比較。第2章到第8章,分別介紹了Hadoop 2和核心服務的安裝方法、Hadoop分布式文件系統、MapReduce和YARN編程,以及利用Apache Pig等Hadoop工具簡化編程。最后兩章講述了利用Apache Ambari等工具管理Hadoop和基本的管理程序。附錄包括Hadoop 2故障診斷和排除的基礎知識、Apache Hue和Apache Spark安裝等。本書通俗易懂,具有大量操作實例,易于上手,適合Hadoop用戶、管理員、開發和運維人員、程序員、架構師、分析師和數據科學工作者閱讀。 |
目錄:1背景和概念 1 定義Apache Hadoop 1 Apache Hadoop的發展簡史 3 大數據的定義 4 Hadoop作為數據湖 5 使用Hadoop:管理員、用戶或兩種身份兼具 7 原始的MapReduce 7 Apache Hadoop的設計原則 8 Apache Hadoop MapReduce示例 8 MapReduce的優勢 10 Apache Hadoop V1 MapReduce操作 11 使用Hadoop V2 超越MapReduce 13 Hadoop V2 YARN操作設計 14 Apache Hadoop項目生態系統 16 總結和補充資料 18 2安裝攻略 21 核心Hadoop服務 21 Hadoop配置文件 22 規劃你的資源 23 硬件的選擇 23 軟件選擇 24 在臺式機或筆記本電腦上安裝 25 安裝Hortonworks HDP 2.2沙箱 25 用Apache源代碼安裝Hadoop 32 配置單節點YARN服務器的步驟 33 運行簡單的MapReduce示例 42 安裝 Apache Pig(可選) 42 安裝Apache Hive(可選) 43 使用Ambari安裝Hadoop 44 執行Ambari安裝 45 撤消Ambari安裝 59 使用Apache Whirr在云中安裝Hadoop 59 總結和補充資料 65 3HDFS基礎知識 67 HDFS設計的特點 67 HDFS組件 68 HDFS塊復制 71 HDFS安全模式 72 機架的識別 73 NameNode高可用性 73 HDFS NameNode聯邦 75 HDFS檢查點和備份 76 HDFS快照 76 HDFS NFS網關 76 HDFS用戶命令 77 簡要HDFS命令參考 77 一般HDFS命令 78 列出HDFS中的文件 79 在HDFS中創建一個目錄 80 將文件復制到HDFS 80 從HDFS復制文件 81 在HDFS中復制文件 81 刪除在HDFS中的文件 81 刪除在HDFS中的目錄 81 獲取HDFS狀態報告 81 HDFS的Web圖形用戶界面 82 在程序中使用HDFS 82 HDFS Java應用程序示例 82 HDFS C應用程序示例 86 總結和補充資料 88 4運行示例程序和基準測試程序 91 列出可用的示例 92 運行Pi示例 93 使用Web界面監控示例 95 運行基本Hadoop基準測試程序 101 運行Terasort測試 101 運行TestDFSIO基準 102 管理Hadoop MapReduce作業 103 總結和補充資料 104 5Hadoop MapReduce框架 107 MapReduce模型 107 MapReduce并行數據流 110 容錯和推測執行 114 推測執行 114 Hadoop MapReduce硬件 115 總結和補充資料 115 6MapReduce 117 編譯和運行Hadoop WordCount的示例 117 使用流式接口 122 使用管道接口 125 編譯和運行Hadoop Grep鏈示例 127 調試MapReduce 131 作業的列舉、清除和狀態查詢 131 Hadoop日志管理 131 啟用YARN日志聚合 132 Web界面日志查看 133 命令行日志查看 133 總結和附加資源 135 7基本的Hadoop工具 137 使用Apache Pig 137 Pig示例演練 138 使用Apache Hive 140 Hive示例演練 140 更高級的Hive示例 142 使用Apache Sqoop獲取關系型數據 145 Apache Sqoop導入和導出方法 145 Apache Sqoop版本更改 147 Sqoop示例演練 148 使用Apache Flume獲取數據流 155 Flume的示例演練 157 使用Apache Oozie管理 Hadoop工作流 160 Oozie示例演練 162 使用Apache HBase 170 HBase數據模型概述 170 HBase示例演練 171 總結和補充資料 176 8Hadoop YARN應用程序 179 YARN分布式shell 179 使用YARN分布式shell 180 一個簡單的示例 181 使用更多的容器 182 帶有shell參數的分布式 shell 示例 183 YARN應用程序的結構 185 YARN應用程序框架 187 Hadoop MapReduce 188 Apache Tez 188 Apache Giraph 189 Hoya: HBase on YARN 189 Dryad on YARN 189 Apache Spark 189 Apache Storm 190 Apache REEF:可持續計算執行框架 190 Hamster:Hadoop和MPI在同一集群 190 Apache Flink:可擴展的批處理和流式數據處理 191 Apache Slider:動態應用程序管理 191 總結和補充資料 192 9用Apache Ambari管理Hadoop 193 快速瀏覽 Apache Ambari 194 儀表板視圖 194 服務視圖 197 主機視圖 199 管理視圖 201 查看視圖 201 Admin下拉菜單 202 更改Hadoop屬性 206 總結和補充資料 212
10基本的Hadoop管理程序 213 基本的Hadoop YARN管理 214 停用YARN節點 214 YARN WebProxy 214 使用 JobHistoryServer 215 管理YARN作業 215 設置容器內存 215 設置容器核心 216 設置MapReduce屬性 216 基本的HDFS管理 217 NameNode用戶界面 217 將用戶添加到HDFS 219 在HDFS上執行FSCK 220 平衡HDFS 221 HDFS安全模式 222 停用HDFS節點 222 SecondaryNameNode 223 HDFS快照 223 配置到HDFS的NFSv3網關 225 容量調度程序背景知識 229 Hadoop 2的MapReduce兼容性 231 啟用應用主控程序的重新啟動功能 231 計算一個節點的承載容量 232 運行Hadoop 1的應用程序 233 總結和補充資料 235 附錄A本書的網頁和代碼下載 237 附錄B入門流程圖和故障排除指南 239 入門流程圖 239 常見的Hadoop故障排除指南 239 規則1:不要驚慌 239 規則2:安裝并使用Ambari 244 規則3:檢查日志 244 規則4:簡化情況 245 規則5:在互聯網上提問 245 其他有用的提示 246 附錄C按主題列出的Apache Hadoop資源匯總 253 常規的Hadoop 信息 253 Hadoop安裝攻略 253 HDFS 254 示例 255 MapReduce 255 MapReduce 編程 255 基本工具 256 YARN應用程序框架 257 Ambari管理 257 基本的Hadoop 管理 257 附錄D安裝Hue Hadoop GUI 259 Hue安裝 259 安裝和配置Hue 262 啟動Hue 263 Hue用戶界面 263 附錄E安裝Apache Spark 267 在集群上安裝Spark 267 在整個集群中啟動Spark 268 在偽分布式的單節點安裝版本中安裝和啟動Spark 270 運行Spark示例 271 |
序: |
|