內容簡介
本書是國內銷量最大、被眾多高校採用的教材《雲計算》的最新升級版,是中國雲計算專家諮詢委員會秘書長劉鵬教授團隊的心血之作。在應對大數據挑戰的過程中,
雲計算技術日趨成熟,擁有大量的成功商業套用。本書追蹤最新技術,相比第二版更新了60%以上的內容,包括大數據與雲計算、Google雲計算、Amazon雲計算、
微軟雲計算、Hadoop 2.0及其生態圈、虛擬化技術、OpenStack開源雲計算、
雲計算數據中心、雲計算核心算法和中國雲計算技術等。劉鵬教授創辦的中國雲計算(chinacloud.cn)、中國大數據(thebigdata.cn)網站和劉鵬微信公眾號(lpoutlook)為本書學習提供技術支撐。
圖書目錄
目 錄
第1章 大數據與雲計算 1
1.1 大數據時代 1
1.2 雲計算——大數據的計算 3
1.3 雲計算發展現狀 6
1.4 雲計算實現機制 7
1.5 雲計算壓倒性的成本優勢 9
習題 12
參考文獻 12
第2章 Google雲計算原理與套用 13
2.1 Google檔案系統GFS 13
2.1.1 系統架構 14
2.1.2 容錯機制 16
2.1.3 系統管理技術 17
2.2 分散式數據處理MapReduce 17
2.2.1 產生背景 17
2.2.2 編程模型 18
2.2.3 實現機制 19
2.2.4 案例分析 20
2.3 分散式鎖服務Chubby 22
2.3.2 Chubby系統設計 24
2.3.3 Chubby中的Paxos 26
2.3.4 Chubby檔案系統 28
2.3.5 通信協定 29
2.3.6 正確性與性能 31
2.4 分散式結構化數據表Bigtable 32
2.4.1 設計動機與目標 32
2.4.2 數據模型 33
2.4.3 系統架構 34
2.4.4 主伺服器 35
2.4.5 子表伺服器 36
2.4.6 性能最佳化 40
2.5 分散式存儲系統Megastore 41
2.5.1 設計目標及方案選擇 41
2.5.2 Megastore數據模型 42
2.5.3 Megastore中的事務及並發控制 44
2.5.4 Megastore基本架構 45
2.5.5 核心技術——複製 47
2.5.6 產品性能及控制措施 51
2.6 大規模分散式系統的監控基礎架構Dapper 52
2.6.1 基本設計目標 52
2.6.2 Dapper監控系統簡介 53
2.6.3 關鍵性技術 56
2.6.4 常用Dapper工具 57
2.6.5 Dapper使用經驗 59
2.7 海量數據的互動式分析工具Dremel 61
2.7.1 產生背景 61
2.7.2 數據模型 62
2.7.3 嵌套式的列存儲 63
2.7.4 查詢語言與執行 68
2.7.5 性能分析 70
2.7.6 小結 71
2.8 記憶體大數據分析系統PowerDrill 71
2.8.1 產生背景與設計目標 71
2.8.2 基本數據結構 72
2.8.3 性能最佳化 73
2.8.4 性能分析與對比 75
2.9 Google應用程式引擎 76
2.9.1 Google App Engine簡介 77
2.9.2 應用程式環境 78
2.9.3 Google App Engine服務 80
習題 88
參考文獻 88
第3章 Amazon雲計算AWS 90
3.1 基礎存儲架構Dynamo 90
3.1.1 Dynamo概況 90
3.1.2 Dynamo架構的主要技術 91
3.2 彈性計算雲EC2 99
3.2.1 EC2的基本架構 99
3.2.2 EC2的關鍵技術 100
3.2.3 EC2的安全及容錯機制 102
3.3 簡單存儲服務S3 103
3.3.1 S3的基本概念和操作 103
3.3.3 S3的安全措施 105
3.4.1 非關係型資料庫與傳統關係資料庫的比較 108
3.4.2 SimpleDB 108
3.4.3 DynamoDB 110
3.4.4 SimpleDB和DynamoDB的比較 111
3.5 關係資料庫服務RDS 111
3.5.1 RDS的基本原理 111
3.5.2 RDS的使用 112
3.6 簡單佇列服務SQS 113
3.6.1 SQS的基本模型 113
3.6.2 SQS的訊息 114
3.7 內容推送服務CloudFront 115
3.7.1 CDN 116
3.7.2 CloudFront 117
3.8.1 快速套用部署Elastic Beanstalk和服務模板CloudFormation 119
3.8.2 DNS服務Router 53 120
3.8.3 虛擬私有雲VPC 120
3.8.4 簡單通知服務和簡單郵件服務 120
3.8.5 彈性MapReduce服務 121
3.8.6 電子商務服務DevPay、FPS和Simple Pay 122
3.8.7 Amazon執行網路服務 127
3.8.8 土耳其機器人 128
3.8.9 數據倉庫服務Redshift 129
3.8.10 套用流服務AppStream和數據流分析服務Kinesis 129
3.9 AWS套用實例 130
3.9.1 照片和視頻共享網站SmugMug 130
3.9.2 視頻製作網站Animoto 131
3.9.3 網站排名Alexa 132
3.10 小結 132
習題 132
參考文獻 133
第4章 微軟雲計算Windows Azure 136
4.1 微軟雲計算平台 136
4.2 微軟雲作業系統Windows Azure 137
4.2.1 Windows Azure概述 137
4.2.2 Windows Azure計算服務 138
4.2.3 Windows Azure存儲服務 140
4.2.4 Windows Azure Connect 147
4.2.5 Windows Azure CDN 148
4.2.6 Fabric控制器 149
4.3 微軟雲關係資料庫SQL Azure 150
4.3.1 SQL Azure概述 150
4.3.2 SQL Azure關鍵技術 151
4.3.3 SQL Azure和SQL Server對比 153
4.4 Windows Azure AppFabric 154
4.4.1 AppFabric概述 154
4.4.2 AppFabric關鍵技術 155
4.5 Windows Azure Marketplace 159
4.6 Windows Azure服務平台 160
4.6.1 網站 160
4.6.2 虛擬機 161
4.6.3 雲服務 162
4.6.4 移動服務 163
4.6.5 大數據處理 164
4.6.6 媒體支持 165
習題 166
參考文獻 166
第5章 Hadoop 2.0:主流開源雲架構 168
5.1 引例 168
5.1.1 問題概述 168
5.1.2 常規解決方案 168
5.1.3 分散式下的解決方案 169
5.1.4 小結 173
5.2 Hadoop 2.0簡述 173
5.2.1 Hadoop 2.0由來 173
5.2.2 Hadoop 2.0相關項目 174
5.2.3 Hadoop套用 175
5.3 Hadoop 2.0部署 175
5.3.1 部署綜述 175
5.3.2 傳統解壓包部署 179
5.4 Hadoop 2.0體系架構 182
5.4.1 Hadoop 2.0公共組件Common 182
5.4.3 分散式作業系統Yarn 190
5.4.4 Hadoop 2.0安全機制簡介 198
5.5 Hadoop 2.0訪問接口 199
5.5.1 訪問接口綜述 199
5.5.2 瀏覽器接口 199
5.6 Hadoop 2.0編程接口 202
5.6.1 HDFS 編程 202
5.6.2 Yarn編程 205
習題 214
參考文獻 214
第6章 Hadoop 2.0大家族 215
6.1 Hadoop 2.0大家族概述 215
6.1.1 分散式組件 215
6.1.2 部署概述 217
6.2 ZooKeeper 223
6.2.1 ZooKeeper簡介 223
6.2.2 ZooKeeper 入門 224
6.3 Hbase 226
6.3.1 Hbase簡介 226
6.3.2 Hbase入門 229
6.4 Pig 232
6.4.1 Pig簡介 232
6.4.2 Pig入門 233
6.5 Hive 234
6.5.1 Hive簡介 234
6.5.2 Hive入門 235
6.6 Oozie 238
6.6.1 Oozie簡介 238
6.6.2 Oozie入門 238
6.7 Flume 241
6.7.1 Flume簡介 241
6.7.2 Flume入門 243
6.8 Mahout 246
6.8.1 Mahout簡介 246
6.8.2 Mahout入門 246
6.9 小結 247
習題 248
參考文獻 248
第7章 虛擬化技術 250
7.1 虛擬化技術簡介 250
7.2 伺服器虛擬化 251
7.2.1 伺服器虛擬化的層次 251
7.2.2 伺服器虛擬化的底層實現 252
7.2.3 虛擬機遷移 253
7.2.4 隔離技術 256
7.2.5 案例分析 257
7.3.1 存儲虛擬化的一般模型 258
7.3.2 存儲虛擬化的實現方式 259
7.3.3 案例分析 260
7.4 網路虛擬化 262
7.4.1 核心層網路虛擬化 262
7.4.2 接入層網路虛擬化 262
7.4.3 虛擬機網路虛擬化 262
7.4.4 案例分析: VMware的網路虛擬化技術 263
7.5 桌面虛擬化 265
7.5.1 桌面虛擬化簡介 266
7.5.2 技術現狀 266
7.5.3 案例分析 267
習題 267
參考文獻 268
第8章 OpenStack開源虛擬化平台 269
8.1 OpenStack背景介紹 269
8.1.1 OpenStack是什麼 269
8.1.2 OpenStack的主要服務 270
8.2 計算服務Nova 272
8.2.1 Nova組件介紹 272
8.2.2 Libvirt簡介 273
8.2.3 Nova中的RabbitMQ解析 275
8.3 對象存儲服務Swift 282
8.3.1 Swift特性 282
8.3.2 套用場景 283
8.3.3 Swift主要組件 284
8.3.4 Swift基本原理 286
8.3.5 實例分析 290
8.4 鏡像服務Glance 291
8.4.1 Glance的作用 291
8.4.2 Glance的組成部分 291
習題 292
參考文獻 292
9.1 雲數據中心的特徵 293
9.2 雲數據中心網路部署 294
9.2.1 改進型樹結構 294
9.2.2 遞歸層次結構 296
9.2.3 光交換網路 299
9.2.4 無線數據中心網路 301
9.3 綠色節能技術 305
9.3.1 配電系統節能技術 305
9.3.2 空調系統節能技術 307
9.3.4 數據中心節能策略和算法研究 312
9.3.5 新能源的套用 315
9.3.6 典型的綠色節能數據中心 318
9.4 自動化管理 320
9.4.1 自動化管理的特徵 320
9.4.2 自動化管理實現階段 321
9.4.3 Facebook自動化管理 322
9.5 容災備份 324
9.5.1 容災系統的等級標準 325
9.5.2 容災備份的關鍵技術 325
9.5.3 雲存儲在容災備份中的套用 327
習題 328
參考文獻 328
第10章 雲計算核心算法 332
10.1.1 Paxos 算法背景知識 332
10.1.2 Paxos 算法詳解 333
10.1.3 Paxos 算法舉例 336
10.2 DHT算法 338
10.2.1 DHT原理介紹 339
10.2.2 Chord中DHT的具體實現 340
10.2.3 Pastry中DHT的具體實現 342
10.2.4 CAN中DHT的具體實現 343
10.2.5 Tapestry中DHT的具體實現 345
10.3 Gossip協定 345
10.3.1 Gossip協定的特點 346
10.3.2 Gossip協定的通信方式及收斂性 346
10.3.3 Gossip節點管理算法 348
10.3.4 Cassandra中Gossip協定的具體實現方式 349
10.3.5 CoolStreaming系統中Gossip協定的具體實現方式 352
習題 354
參考文獻 354
第11章 中國雲計算技術 355
11.1 國內雲計算發展概況 355
11.2 國產雲存儲技術 356
11.2.2 雲創存儲cStor分散式檔案系統 359
11.2.3 A8000超低功耗雲存儲一體機 364
11.3 國產大資料庫技術 367
11.3.1 阿里巴巴OceanBase 367
11.3.2 雲創存儲數據立方(DataCube) 371
11.4 雲視頻監控技術 376
11.4.1 cVideo雲視頻監控系統 376
11.4.2 cVideo智慧型分析系統 378
11.4.3 cVideo雲轉碼系統 381
11.5 阿里巴巴阿里雲服務 383
11.5.1 阿里雲計算體系架構 383
11.5.2 彈性計算服務(ECS) 384
11.5.3 開放存儲服務(OSS) 385
11.5.4 開放
結構化數據服務(OTS) 385
11.6 雲創存儲萬物雲服務 386
11.6.1 平台簡介 386
11.6.2 系統架構 387
11.6.3 功能服務 388
11.6.4 套用舉例 391
習題 392
參考文獻 392
第12章 總結與展望 394
12.1 主流商業雲計算解決方案比較 394
12.1.1 套用場景 394
12.1.2 使用流程 396
12.1.3 體系結構 397
12.1.4 實現技術 397
12.1.5 核心業務 398
12.2 主流開源雲計算系統比較 400
12.2.1 開發目的 401
12.2.2 體系結構 402
12.2.3 實現技術 403
12.2.4 核心服務 403
12.3 雲計算的歷史坐標與發展方向 404
12.3.1 網際網路發展的階段劃分 404
12.3.2 雲格(Gloud)——雲計算的未來 407
習題 409
參考文獻 409