Hadoop YARN權威指南

Hadoop YARN權威指南

《Hadoop YARN權威指南》是2015年4月機械工業出版社出版的圖書,作者是(美) Arun C Murthy、(美)Vinod KumarVavilapalli、(美) Jeff Markham。

基本介紹

  • 中文名:Hadoop YARN權威指南 
  • 作者:(美) Arun C Murthy、(美)Vinod KumarVavilapalli、(美) Jeff Markham
  • 譯者:羅韓梅,洪志國,楊旭
  • 出版社機械工業出版社
  • 出版時間:2015年4月1日
  • 頁數:242 頁
  • 定價:59.00
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787111491811
內容簡介,作者簡介,圖書目錄,

內容簡介

《Hadoop YARN指南》由YARN的創建和開發團隊親筆撰寫,Altiscale的CEO作序鼎力推薦,是使用Hadoop YARN建立分散式鑽故永殼、大數據套用的指南。書中利用多個實例,詳細介紹Hadoop YARN的安裝和管理,以幫助用戶使用YARN進行套用開發,並在YARN上運行除了MapReduce之外的新框架。
《Hadoop YARN指南》共12章,第1章講述Apache Hadoop YARN產生和發展的歷史;第2章講解在單台機器(工作站、伺服器或筆記本電腦)上快速安裝Hadoop 2.0;第3章介紹Apache Hadoop YARN資源管理器;第4章簡體海備要介紹YARN組件的功能,幫助讀者開始深入了解YARN;第5章詳細講解YARN的安裝方法,包括一個基於腳本的手動安裝,以及使用Apache Ambari基於GUI的安裝;第6章講述對YARN集群的管理,涉及一些基本的YARN管理場景,介紹如何利用Nagios和Ganglia監控集群,論述對JVM的監視,並介紹Ambari的管和民凶理界面;第7章深入探究YARN的架構,向讀者展示YARN的內部工作原因;第8章深入討論Capacity調度器;第9章描述基於現有MapReduce的應用程式如何繼續工作以及利用YARN的優勢;第10章通過創建一個JBoss Application Server集群的過程,講述如何構建一個YARN應用程式;第11章描述建立在YARN上的典型示例程式distributed shell的使用和內部情況;第12章總結運行在YARN上的新興開源框架。最後提供6個附錄,包括補充內容和代碼下載、YARN的安裝腳本、YARN管理腳本、Nagios模組、資源及其他信息、HDFS快速參考。

作者簡介

Arun C. Murthy,自從Apache Hadoop啟動以來就是一個全職的貢獻者,並創立了Apache YARN項目。他作為雅虎Hadoop MapReduce開發團隊的架構師和領導者,負責為整個雅虎公司提供MapReduce技術服務。他是Hortonworks公司的創始人和架構師,Hortonworks公司由雅虎Hadoop團隊的核心成員組成,並加速了Hadoop的發展海多屑和普及。
Vinod Kumar Vavilapalli是Hortonworks公司的首席開發者和Apache Hadoop YARN的項目負責人。他之前參與的項目有Hadoop On Deamand、Hadoop-0.20、Capacity調度器、Hadoop安全性和MapReduce。
Doug Eadline博士作為Linux的HPC集群革命的實踐者和見證者開始了他的職業生涯,目前在為大數據分析撰寫文檔。
Joseph Niemiec是Hortonworks大數據解決方案工程師,致力於為許多財富1000強公司設計Hadoop解決方案。
Jeff Markham是Hortonworks解決方案工程師。此前,他驗辨促為VMware、Red Hat和IBM開發過分散式數據套用。

圖書目錄

譯者序
推薦序一
推薦序二
前 言
第1章 Apache Hadoop YARN:簡明歷史及基本原理 1
1.1 引言 1
1.2 Apache Hadoop 2
1.3 階段0:Ad Hoc集群時期 3
1.4 階段1:Hadoop on Demand 3
1.4.1 HOD世界中的HDFS 5
1.4.2 HOD的特色及優勢 5
1.4.3 HOD的缺點 6
1.5 階段2:共享計算集群的黎明 8
1.5.1 共享集群的演進 8
1.5.2 使用共享MapReduce集群的問題 13
1.6 階段3:YARN的出現 15
1.7 小結 16
第2章 Apache Hadoop YARN安裝快速入門 17
2.1 準備開始 18
2.2 配置單節點YARN集群的步驟 18
2.2.1 第1步:下載斷幾Apache Hadoop 18
2.2.2 第2步:設定JAVA_HOME 19
2.2.3 第3步:創建用戶和用戶組 19
2.2.4 第4步:創建數據和日誌目錄 19
2.2.5 第5步:配置core-site.xml 19
2.2.6 第6步:配置hdfs-site.xml 20
2.2.7 第7步:配置mapred-site.xml 21
2.2.8 第趨院炒船8步:配置yarn-site.xml 21
2.2.9 第9步:調整Java堆大小 21
2.2.10 第10步:格式化HDFS 22
2.2.11 第11步:啟動HDFS服務 22
2.2.12 第12步:啟動YARN服務 23
2.2.13 第13步:通過Web接口驗證正在運行的服務 24
2.3 運行MapReduce示例程式 25
2.4 小結 26
第3章 Apache Hadoop YARN的核心概念 27
3.1 不只是MapReduce 27
3.2 Apache Hadoop MapReduce 29
3.2.1 支持非MapReduce套用的需求 30
3.2.2 解決可擴展性 30
3.2.3 提高資源使用率 30
3.2.4 用戶敏捷性 30
3.3 Apache Hadoop YARN 31
3.4 YARN組件 32
3.4.1 ResourceManager 32
3.4.2 ApplicationMaster 32
3.4.3 資源模型 33
3.4.4 ResourceRequest和Container 33
3.4.5 Container規範 34
3.5 小結 34
第4章 YARN組件的功能概述 35
4.1 體系架構概述 35
4.2 ResourceManager 37
4.3 YARN調度組件 38
4.3.1 FIFO調度器 38
4.3.2 Capacity調度器 38
4.3.3 Fair調度器 39
4.4 Container 40
4.5 NodeManager 40
4.6 ApplicationMaster 41
4.7 YARN資源模型 41
4.7.1 客戶端資源請求 42
4.7.2 ApplicationMaster Container的分配 42
4.7.3 ApplicationMaster與Container管理器的通信 44
4.8 管理應用程式的依賴檔案 44
4.8.1 LocalResource的定義 44
4.8.2 LocalResource時間戳 45
4.8.3 LocalResource類型 46
4.8.4 LocalResource的可見性 46
4.8.5 LocalResource的生命周期 47
4.9 小結 47
第5章 安裝Apache Hadoop YARN 49
5.1 基礎知識 49
5.2 系統準備 50
5.2.1 第1步:安裝EPEL和pdsh 50
5.2.2 第2步:生成和分發ssh密鑰 51
5.3 基於腳本安裝Hadoop 2 51
5.3.1 JDK選項 52
5.3.2 第1步:下載並解壓腳本 52
5.3.3 第2步:設定腳本里的變數 52
5.3.4 第3步:提供節點名字 53
5.3.5 第4步:運行腳本 54
5.3.6 第5步:驗證安裝 54
5.4 基於腳本的卸載 57
5.5 配置檔案處理 57
5.6 配置檔案設定 57
5.6.1 core-site.xml 57
5.6.2 hdfs-site.xml 58
5.6.3 mapred-site.xml 58
5.6.4 yarn-site.xml 59
5.7 啟動腳本 59
5.8 用Apache Ambari安裝Hadoop 60
5.8.1 基於Ambari安裝Hadoop 61
5.8.2 第1步:檢查要求 61
5.8.3 第2步:安裝Ambari伺服器 62
5.8.4 第3步:安裝和啟動Ambari代理 62
5.8.5 第4步:啟動Ambari伺服器 62
5.8.6 第5步:安裝HDP2.X集群 63
5.9 小結 70
第6章 Apache Hadoop YARN的管理 71
6.1 基於腳本的配置 71
6.2 監控集群健康:Nagios 76
6.2.1 監控基本的Hadoop服務 77
6.2.2 監控JVM 80
6.3 實時監控系統:Ganglia 82
6.4 使用Ambari管理 83
6.5 JVM分析 88
6.6 基本的YARN管理 90
6.6.1 YARN的管理工具 91
6.6.2 增加或關閉YARN節點 92
6.6.3 Capacity調度器的配置 92
6.6.4 YARN的Web代理 92
6.6.5 使用JobHistoryServer 93
6.6.6 更新用戶到用戶組的映射 93
6.6.7 更新超級用戶代理群組映射 93
6.6.8 更新ResourceManager管理的ACL 93
6.6.9 重新載入服務級授權策略檔案 94
6.6.10 管理YARN作業 94
6.6.11 設定Container的記憶體 94
6.6.12 設定Container核數 94
6.6.13 設定MapReduce配置項 95
6.6.14 用戶日誌管理 95
6.7 小結 97
第7章 Apache Hadoop YARN的架構指南 98
7.1 概述 98
7.2 ResourceManager 99
7.2.1 ResourceManager組件概述 100
7.2.2 客戶端和ResourceManager互動 100
7.2.3 應用程式和ResourceManager的通信 102
7.2.4 節點和ResourceManager的通信 103
7.2.5 ResourceManager核心組件 104
7.2.6 ResourceManager安全相關的組件 105
7.3 NodeManager 109
7.3.1 NodeManager各組件概述 109
7.3.2 NodeManager組件 110
7.3.3 NodeManager安全組件 116
7.3.4 NodeManager的重要功能 116
7.4 ApplicationMaster 117
7.4.1 概述 117
7.4.2 活躍 119
7.4.3 資源需求 119
7.4.4 調度 120
7.4.5 調度協定和本地性 121
7.4.6 啟動Container 123
7.4.7 完成的Container 124
7.4.8 ApplicationMaster失敗和恢復 124
7.4.9 協調和輸出提交 124
7.4.10 為客戶端提供信息 125
7.4.11 安全 125
7.4.12 ApplicationMaster退出時進行清理 125
7.5 YARN Container 125
7.5.1 Container運行環境 126
7.5.2 與ApplicationMaster通信 127
7.6 應用程式開發者的摘要 127
7.7 小結 128
第8章 YARN中的Capacity調度器 129
8.1 Capacity調度器介紹 129
8.1.1 多租戶彈性 130
8.1.2 安全 130
8.1.3 資源感知 130
8.1.4 細粒度調度 130
8.1.5 本地化 131
8.1.6 調度策略 131
8.2 Capacity調度器配置 131
8.3 佇列 132
8.4 層級佇列 132
8.4.1 關鍵特性 132
8.4.2 佇列間的調度 132
8.4.3 定義層級佇列 133
8.5 佇列訪問控制 134
8.6 層級佇列Capacity管理 135
8.7 用戶級別限制 137
8.8 預訂 139
8.9 佇列的狀態 140
8.10 應用程式的限制 141
8.11 用戶接口 141
8.12 小結 142
第9章 Apache Hadoop YARN下的MapReduce 143
9.1 運行Hadoop YARN MapReduce實例 143
9.1.1 可利用的實例列表 143
9.1.2 運行Pi實例 144
9.1.3 使用Web GUI監控實例 146
9.1.4 運行terasort測試 151
9.1.5 運行TestDFSIO基準測試 151
9.2 MapReduce兼容性 152
9.3 MapReduce ApplicationMaster 153
9.3.1 啟用ApplicationMaster的重啟 153
9.3.2 啟用已完成任務的恢復 153
9.3.3 JobHistory服務 153
9.4 計算一個節點的容量 154
9.5 Shuffle服務的變動 155
9.6 運行已有的第1版Hadoop的應用程式 155
9.6.1 org.apache.hadoop.mapred API的二進制兼容性 155
9.6.2 org.apache.hadoop.mapreduce API的源碼兼容性 155
9.6.3 命令行腳本的兼容性 156
9.6.4 MRv1和早期MRv2(0.23.x)應用程式兼容性的權衡 156
9.7 運行第1版MapReduce現有的代碼 157
9.7.1 在YARN上運行Apache Pig腳本 157
9.7.2 在YARN上運行Apache Hive查詢 157
9.7.3 在YARN上運行Apache Oozie工作流 157
9.8 高級特性 158
9.8.1 Uber作業 158
9.8.2 可插拔的Shuffle和Sort 158
9.9 小結 159
第10章 Apache Hadoop YARN應用程式範例 160
10.1 YARN客戶端 161
10.2 ApplicationMaster 175
10.3 小結 192
第11章 使用Apache Hadoop YARN Distributed-Shell 193
11.1 使用YARN Distributed-Shell 193
11.1.1 簡單例子 194
11.1.2 使用更多Container 195
11.1.3 帶有shell命令參數的Distributed-Shell 195
11.2 Distributed-Shell內部實現 197
11.2.1 套用的常量定義 198
11.2.2 Client 198
11.2.3 ApplicationMaster 201
11.2.4 普通Container 205
11.3 小結 205
第12章 Apache Hadoop YARN框架 206
12.1 Distributed-Shell 206
12.2 Hadoop MapReduce 206
12.3 Apache Tez 207
12.4 Apache Giraph 207
12.5 Hoya:HBase on YARN 208
12.6 Dryad on YARN 208
12.7 Apache Spark 208
12.8 Apache Storm 209
12.9 REEF:Retainable Evaluator Execution Framework 209
12.10 Hamster:Hadoop and MPI on the Same Cluster 210
12.11 小結 210
附錄A 補充內容和代碼下載 211
附錄B YARN的安裝腳本 212
附錄C YARN的管理腳本 224
附錄D Nagios模組 229
附錄E 資源及附加資料 235
附錄F HDFS快速參考 237
Jeff Markham是Hortonworks解決方案工程師。此前,他為VMware、Red Hat和IBM開發過分散式數據套用。

圖書目錄

譯者序
推薦序一
推薦序二
前 言
第1章 Apache Hadoop YARN:簡明歷史及基本原理 1
1.1 引言 1
1.2 Apache Hadoop 2
1.3 階段0:Ad Hoc集群時期 3
1.4 階段1:Hadoop on Demand 3
1.4.1 HOD世界中的HDFS 5
1.4.2 HOD的特色及優勢 5
1.4.3 HOD的缺點 6
1.5 階段2:共享計算集群的黎明 8
1.5.1 共享集群的演進 8
1.5.2 使用共享MapReduce集群的問題 13
1.6 階段3:YARN的出現 15
1.7 小結 16
第2章 Apache Hadoop YARN安裝快速入門 17
2.1 準備開始 18
2.2 配置單節點YARN集群的步驟 18
2.2.1 第1步:下載Apache Hadoop 18
2.2.2 第2步:設定JAVA_HOME 19
2.2.3 第3步:創建用戶和用戶組 19
2.2.4 第4步:創建數據和日誌目錄 19
2.2.5 第5步:配置core-site.xml 19
2.2.6 第6步:配置hdfs-site.xml 20
2.2.7 第7步:配置mapred-site.xml 21
2.2.8 第8步:配置yarn-site.xml 21
2.2.9 第9步:調整Java堆大小 21
2.2.10 第10步:格式化HDFS 22
2.2.11 第11步:啟動HDFS服務 22
2.2.12 第12步:啟動YARN服務 23
2.2.13 第13步:通過Web接口驗證正在運行的服務 24
2.3 運行MapReduce示例程式 25
2.4 小結 26
第3章 Apache Hadoop YARN的核心概念 27
3.1 不只是MapReduce 27
3.2 Apache Hadoop MapReduce 29
3.2.1 支持非MapReduce套用的需求 30
3.2.2 解決可擴展性 30
3.2.3 提高資源使用率 30
3.2.4 用戶敏捷性 30
3.3 Apache Hadoop YARN 31
3.4 YARN組件 32
3.4.1 ResourceManager 32
3.4.2 ApplicationMaster 32
3.4.3 資源模型 33
3.4.4 ResourceRequest和Container 33
3.4.5 Container規範 34
3.5 小結 34
第4章 YARN組件的功能概述 35
4.1 體系架構概述 35
4.2 ResourceManager 37
4.3 YARN調度組件 38
4.3.1 FIFO調度器 38
4.3.2 Capacity調度器 38
4.3.3 Fair調度器 39
4.4 Container 40
4.5 NodeManager 40
4.6 ApplicationMaster 41
4.7 YARN資源模型 41
4.7.1 客戶端資源請求 42
4.7.2 ApplicationMaster Container的分配 42
4.7.3 ApplicationMaster與Container管理器的通信 44
4.8 管理應用程式的依賴檔案 44
4.8.1 LocalResource的定義 44
4.8.2 LocalResource時間戳 45
4.8.3 LocalResource類型 46
4.8.4 LocalResource的可見性 46
4.8.5 LocalResource的生命周期 47
4.9 小結 47
第5章 安裝Apache Hadoop YARN 49
5.1 基礎知識 49
5.2 系統準備 50
5.2.1 第1步:安裝EPEL和pdsh 50
5.2.2 第2步:生成和分發ssh密鑰 51
5.3 基於腳本安裝Hadoop 2 51
5.3.1 JDK選項 52
5.3.2 第1步:下載並解壓腳本 52
5.3.3 第2步:設定腳本里的變數 52
5.3.4 第3步:提供節點名字 53
5.3.5 第4步:運行腳本 54
5.3.6 第5步:驗證安裝 54
5.4 基於腳本的卸載 57
5.5 配置檔案處理 57
5.6 配置檔案設定 57
5.6.1 core-site.xml 57
5.6.2 hdfs-site.xml 58
5.6.3 mapred-site.xml 58
5.6.4 yarn-site.xml 59
5.7 啟動腳本 59
5.8 用Apache Ambari安裝Hadoop 60
5.8.1 基於Ambari安裝Hadoop 61
5.8.2 第1步:檢查要求 61
5.8.3 第2步:安裝Ambari伺服器 62
5.8.4 第3步:安裝和啟動Ambari代理 62
5.8.5 第4步:啟動Ambari伺服器 62
5.8.6 第5步:安裝HDP2.X集群 63
5.9 小結 70
第6章 Apache Hadoop YARN的管理 71
6.1 基於腳本的配置 71
6.2 監控集群健康:Nagios 76
6.2.1 監控基本的Hadoop服務 77
6.2.2 監控JVM 80
6.3 實時監控系統:Ganglia 82
6.4 使用Ambari管理 83
6.5 JVM分析 88
6.6 基本的YARN管理 90
6.6.1 YARN的管理工具 91
6.6.2 增加或關閉YARN節點 92
6.6.3 Capacity調度器的配置 92
6.6.4 YARN的Web代理 92
6.6.5 使用JobHistoryServer 93
6.6.6 更新用戶到用戶組的映射 93
6.6.7 更新超級用戶代理群組映射 93
6.6.8 更新ResourceManager管理的ACL 93
6.6.9 重新載入服務級授權策略檔案 94
6.6.10 管理YARN作業 94
6.6.11 設定Container的記憶體 94
6.6.12 設定Container核數 94
6.6.13 設定MapReduce配置項 95
6.6.14 用戶日誌管理 95
6.7 小結 97
第7章 Apache Hadoop YARN的架構指南 98
7.1 概述 98
7.2 ResourceManager 99
7.2.1 ResourceManager組件概述 100
7.2.2 客戶端和ResourceManager互動 100
7.2.3 應用程式和ResourceManager的通信 102
7.2.4 節點和ResourceManager的通信 103
7.2.5 ResourceManager核心組件 104
7.2.6 ResourceManager安全相關的組件 105
7.3 NodeManager 109
7.3.1 NodeManager各組件概述 109
7.3.2 NodeManager組件 110
7.3.3 NodeManager安全組件 116
7.3.4 NodeManager的重要功能 116
7.4 ApplicationMaster 117
7.4.1 概述 117
7.4.2 活躍 119
7.4.3 資源需求 119
7.4.4 調度 120
7.4.5 調度協定和本地性 121
7.4.6 啟動Container 123
7.4.7 完成的Container 124
7.4.8 ApplicationMaster失敗和恢復 124
7.4.9 協調和輸出提交 124
7.4.10 為客戶端提供信息 125
7.4.11 安全 125
7.4.12 ApplicationMaster退出時進行清理 125
7.5 YARN Container 125
7.5.1 Container運行環境 126
7.5.2 與ApplicationMaster通信 127
7.6 應用程式開發者的摘要 127
7.7 小結 128
第8章 YARN中的Capacity調度器 129
8.1 Capacity調度器介紹 129
8.1.1 多租戶彈性 130
8.1.2 安全 130
8.1.3 資源感知 130
8.1.4 細粒度調度 130
8.1.5 本地化 131
8.1.6 調度策略 131
8.2 Capacity調度器配置 131
8.3 佇列 132
8.4 層級佇列 132
8.4.1 關鍵特性 132
8.4.2 佇列間的調度 132
8.4.3 定義層級佇列 133
8.5 佇列訪問控制 134
8.6 層級佇列Capacity管理 135
8.7 用戶級別限制 137
8.8 預訂 139
8.9 佇列的狀態 140
8.10 應用程式的限制 141
8.11 用戶接口 141
8.12 小結 142
第9章 Apache Hadoop YARN下的MapReduce 143
9.1 運行Hadoop YARN MapReduce實例 143
9.1.1 可利用的實例列表 143
9.1.2 運行Pi實例 144
9.1.3 使用Web GUI監控實例 146
9.1.4 運行terasort測試 151
9.1.5 運行TestDFSIO基準測試 151
9.2 MapReduce兼容性 152
9.3 MapReduce ApplicationMaster 153
9.3.1 啟用ApplicationMaster的重啟 153
9.3.2 啟用已完成任務的恢復 153
9.3.3 JobHistory服務 153
9.4 計算一個節點的容量 154
9.5 Shuffle服務的變動 155
9.6 運行已有的第1版Hadoop的應用程式 155
9.6.1 org.apache.hadoop.mapred API的二進制兼容性 155
9.6.2 org.apache.hadoop.mapreduce API的源碼兼容性 155
9.6.3 命令行腳本的兼容性 156
9.6.4 MRv1和早期MRv2(0.23.x)應用程式兼容性的權衡 156
9.7 運行第1版MapReduce現有的代碼 157
9.7.1 在YARN上運行Apache Pig腳本 157
9.7.2 在YARN上運行Apache Hive查詢 157
9.7.3 在YARN上運行Apache Oozie工作流 157
9.8 高級特性 158
9.8.1 Uber作業 158
9.8.2 可插拔的Shuffle和Sort 158
9.9 小結 159
第10章 Apache Hadoop YARN應用程式範例 160
10.1 YARN客戶端 161
10.2 ApplicationMaster 175
10.3 小結 192
第11章 使用Apache Hadoop YARN Distributed-Shell 193
11.1 使用YARN Distributed-Shell 193
11.1.1 簡單例子 194
11.1.2 使用更多Container 195
11.1.3 帶有shell命令參數的Distributed-Shell 195
11.2 Distributed-Shell內部實現 197
11.2.1 套用的常量定義 198
11.2.2 Client 198
11.2.3 ApplicationMaster 201
11.2.4 普通Container 205
11.3 小結 205
第12章 Apache Hadoop YARN框架 206
12.1 Distributed-Shell 206
12.2 Hadoop MapReduce 206
12.3 Apache Tez 207
12.4 Apache Giraph 207
12.5 Hoya:HBase on YARN 208
12.6 Dryad on YARN 208
12.7 Apache Spark 208
12.8 Apache Storm 209
12.9 REEF:Retainable Evaluator Execution Framework 209
12.10 Hamster:Hadoop and MPI on the Same Cluster 210
12.11 小結 210
附錄A 補充內容和代碼下載 211
附錄B YARN的安裝腳本 212
附錄C YARN的管理腳本 224
附錄D Nagios模組 229
附錄E 資源及附加資料 235
附錄F HDFS快速參考 237

相關詞條

熱門詞條

聯絡我們