第1章 簡介 1
第2章 HDFS 6
2.1 目標和動機 6
2.2 設計 7
2.3 守護進程 8
2.4 讀寫數據 10
2.4.1 數據讀取流程 10
2.4.2 數據寫操作流程 11
2.5 管理文件係統元數據 13
2.6 NameNode的高可用性 14
2.7 NameNode聯盟 16
2.8 訪問與集成 17
2.8.1 命令行工具 18
2.8.2 用戶空間文件係統(FUSE) 21
2.8.3 錶示狀態傳輸(REST)的支持 21
第3章 MapReduce 23
3.1 MapReduce的若乾階段 24
3.2 Hadoop MapReduce簡介 30
3.2.1 後颱程序 31
3.2.2 齣錯處理 33
3.3 YARN 35
第4章 規劃一個Hadoop集群 37
4.1 挑選Hadoop的發行版本 37
4.1.1 Apache Hadoop 37
4.1.2 Cloudera的Apache Hadoop發行版本 38
4.1.3 版本和功能 38
4.1.4 我應該使用哪個版本 40
4.2 硬件選型 41
4.2.1 主節點硬件的選擇 42
4.2.2 工作節點的硬件選擇 43
4.2.3 集群的大小 45
4.2.4 刀片服務器、存儲區域網絡(SAN)和虛擬化 47
4.3 操作係統的選擇和準備 49
4.3.1 部署規劃 49
4.3.2 軟件 50
4.3.3 主機名、DNS和標識 51
4.3.4 用戶、組和特權 54
4.4 內核調整 56
4.4.1 vm.swappiness 56
4.4.2 vm.overcommit_memory 57
4.5 磁盤配置 58
4.5.1 選擇文件係統 58
4.5.2 掛載選項 60
4.6 網絡設計 60
4.6.1 Hadoop中的網絡使用:迴顧 60
4.6.2 1 Gb與10 Gb網絡 62
4.6.3 典型的網絡拓撲 63
第5章 安裝和配置 67
5.1 安裝Hadoop 67
5.1.1 Apache Hadoop 68
5.1.2 CDH 72
5.2 配置概述 76
5.3 環境變量和Shell腳本 80
5.4 日誌配置 82
5.5 HDFS 84
5.5.1 識彆和定位 84
5.5.2 優化與調整 86
5.5.3 格式化NameNode 89
5.5.4 創建/tmp目錄 91
5.6 NameNode的高可靠性 92
5.6.1 隔離(Fencing)選項 93
5.6.2 基本配置 95
5.6.3 自動失效備援配置 96
5.6.4 格式化和引導NameNode啓動 99
5.7 NameNode聯盟(Federation) 105
5.8 MapReduce 113
5.8.1 識彆和定位 113
5.8.2 優化和調整 115
5.9 機架拓撲 122
5.10 安全 125
第6章 用戶標識、身份驗證和授權 126
6.1 用戶標識 127
6.2 Kerberos和Hadoop 128
6.2.1 Kerberos 128
6.2.2 Hadoop上的Kerberos支持 130
6.3 授權 143
6.3.1 HDFS 144
6.3.2 MapReduce 146
6.3.3 其他工具和係統 149
6.4 集成試試 153
第7章 資源管理 156
7.1 何謂資源管理 156
7.2 HDFS配額 156
7.3 MapReduce 調度器 159
7.3.1 先進先齣(FIFO)調度器 160
7.3.2 公平調度器 162
7.3.3 計算能力調度器(Capacity Scheduler) 174
7.3.4 未來發展 181
第8章 集群維護 183
8.1 Hadoop流程管理 183
8.1.1 用初始化腳本管理進程 183
8.1.2 手動管理進程 184
8.2 HDFS維護任務 184
8.2.1 添加一個DataNode 184
8.2.2 卸載DataNode 185
8.2.3 用fsck來檢查文件係統的一緻性 185
8.2.4 HDFS塊數據均衡 190
8.2.5 處理壞磁盤 192
8.3 MapReduce維護任務 193
8.3.1 添加tasktracker 193
8.3.2 卸載tasktracker 193
8.3.3 終結MapReduce 作業 194
8.3.4 終結MapReduce任務 194
8.3.5 處理列入黑名單的tasktracker 195
第9章 故障分析與排查 196
9.1 鑒彆診斷(Differential Diagnosis) 196
9.2 故障和問題 197
9.2.1 人類(自己) 198
9.2.2 配置錯誤 198
9.2.3 硬件故障 199
9.2.4 資源枯竭 200
9.2.5 主機標識和命名 200
9.2.6 網絡分區 200
9.3 “計算機插好瞭麼?” 201
9.4 治療和護理 203
9.5 實戰案例 206
9.5.1 神秘的瓶頸 206
9.5.2 127.0.0.1這個地址不存在 209
第10章 監控 213
10.1 概覽 213
10.2 Hadoop度量(Metrics) 214
10.2.1 Apache Hadoop 0.20.0和CDH3 (metrics1) 214
10.2.2 Apache Hadoop 0.20.203及之後的版本、CDH4(metrics2) 221
10.2.3 SNMP 222
10.3 健康監控 222
10.3.1 主機級彆的檢查 223
10.3.2 所有Hadoop進程 225
10.3.3 HDFS檢查 226
10.3.4 MapReduce檢查 229
第11章 備份與恢復 232
11.1 數據備份 232
11.1.1 分布式拷貝(distcp) 233
11.1.2 並行提取數據 235
11.2 NameNode元數據 237
附錄 棄用的配置屬性 239
· · · · · · (
收起)