譯者序
推薦序一
推薦序二
前 言
第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
· · · · · · (
收起)