Hadoop雲計算實戰

內容介紹

《Hadoop雲計算實戰》全面介紹了雲計算的基本概念、Google(谷歌)雲計算的關鍵技術,以及Hadoop雲計算的相關配套項目及其實戰,包括Hadoop的HDFS、MapReduce、HBase、Hive、Pig、Cassandra、Chukwa及ZooKeeper等配套項目的實現機制、用法及套用。

作品目錄

第1章雲計算概論 1
1.1雲計算概述 1
1.1.1雲計算的定義 1
1.1.2雲計算產生的背景 2
1.1.3雲時代誰是主角 3
1.1.4雲計算的特徵 4
1.1.5雲計算的發展史 5
1.1.6雲計算的服務層次 7
1.1.7雲計算的服務形式 7
1.1.8雲計算的實現機制 9
1.1.9雲計算研究方向 11
1.1.10雲計算發展趨勢 12
1.2雲計算關鍵技術研究 14
1.2.1虛擬化技術 14
1.2.2數據存儲技術 15
1.2.3資源管理技術 17
1.2.4能耗管理技術 18
1.2.5雲監測技術 19
1.3雲計算套用研究 22
1.3.1語義分析套用 22
1.3.2IT企業套用 22
1.3.3生物學套用 23
1.3.4電信企業套用 24
1.3.5資料庫的套用 27
1.3.6地理信息套用 28
1.3.7醫學套用 29
1.4雲安全 30
1.4.1雲安全發展趨勢 31
1.4.2雲安全與網路安全的差別 31
1.4.3雲安全研究的方向 31
1.4.4雲安全難點問題 32
1.4.5雲安全新增及增強功能 32
1.5雲計算生命周期 33
1.6雲計算存在的問題 34
1.7雲計算的優缺點 35
第2章Hadoop相關項目介紹 37
2.1Hadoop簡介 37
2.1.1Hadoop的基本架構 37
2.1.2Hadoop檔案系統結構 40
2.1.3Hadoop檔案讀操作 41
2.1.4Hadoop檔案寫操作 42
2.2Hadoop系統性質 42
2.2.1可靠存儲性 43
2.2.2數據均衡 43
2.3比較SQL資料庫與Hadoop 44
2.4MapReduce概述 45
2.4.1MapReduce實現機制 45
2.4.2MapReduce執行流程 46
2.4.3MapReduce映射和化簡 47
2.4.4MapReduce輸入格式 47
2.4.5MapReduce輸出格式 48
2.4.6MapReduce運行速度 48
2.5HBase概述 48
2.5.1HBase的系統框架 49
2.5.2HBase訪問接口 51
2.5.3HBase的存儲格式 52
2.5.4HBase的讀寫流程 52
2.5.5Hbase的優缺點 53
2.6ZooKeeper概述 53
2.6.1為什麼需要ZooKeeper 54
2.6.2ZooKeeper設計目標 54
2.6.3ZooKeeper數據模型 54
2.6.4ZooKeeper工作原理 55
2.6.5ZooKeeper實現機制 56
2.6.6ZooKeeper的特性 57
2.7Hive概述 58
2.7.1Hive的組成 59
2.7.2Hive結構解析 59
2.8Pig概述 63
2.9Cassandra概述 64
2.9.1Cassandra主要功能 64
2.9.2Cassandra的體系結構 65
2.9.3Cassandra存儲機制 65
2.9.4Cassandra的寫過程 66
2.9.5Cassandra的讀過程 67
2.9.6Cassandra的刪除 68
2.10Chukwa概述 68
2.10.1使用Chukwa的原因 68
2.10.2Chukwa的不是 69
2.10.3Chukwa的定義 69
2.10.4Chukwa架構與設計 70
第3章Hadoop配置與實戰 74
3.1Hadoop的安裝 74
3.1.1在Linux下安裝Hadoop 74
3.1.2運行模式 75
3.1.3在Windows下安裝Hadoop 80
3.2運行Hadoop 86
3.3Hadoop的Avatar機制 87
3.3.1系統架構 88
3.3.2元數據同步機制 89
3.3.3切換故障過程 91
3.3.4運行流程 92
3.3.5切換故障流程 96
3.4Hadoop實戰 99
3.4.1使用Hadoop運行wordcount實例 99
3.4.2使用Eclipse編寫Hadoop程式 101
第4章Hadoop的分散式數據HDFS 102
4.1HDFS的操作 102
4.1.1檔案操作 102
4.1.2管理與更新 103
4.2FS Shell使用指南 104
4.3API使用 111
4.3.1檔案系統的常見操作 111
4.3.2API的Java操作實例 113
第5章Hadoop編程模型MapReduce 118
5.1MapReduce基礎 118
5.1.1MapReduce編程模型 118
5.1.2MapReduce實現機制 119
5.1.3Java MapReduce 121
5.2MapReduce的容錯性 124
5.3MapReduce實例分析 125
5.4不帶map()、reduce()的MapReduce 131
5.5Shuffle過程 133
5.6新增Hadoop API 136
5.7Hadoop的Streaming 138
5.7.1通過UNIX命令使用Streaming 138
5.7.2通過Ruby版本使用Streaming 139
5.7.3通過Python版本使用Streaming 141
5.8MapReduce實戰 142
5.8.1MapReduce排序 142
5.8.2MapReduce二次排序 145
5.9MapReduce作業分析 153
5.10定製MapReduce數據類型 156
5.10.1內置的數據輸入格式和RecordReader 156
5.10.2定製輸入數據格式與RecordReader 157
5.10.3定製數據輸出格式實現多集合檔案輸出 160
5.11連結MapReduce作業 162
5.11.1順序連結MapReduce作業 162
5.11.2複雜的MapReduce連結 163
5.11.3前後處理的連結 163
5.11.4連結不同的數據 166
5.12Hadoop的Pipes 172
5.13創建Bloom filter 174
5.13.1Bloom filter作用 175
5.13.2Bloom filter實現 175
第6章Hadoop的資料庫HBase 182
6.1HBase數據模型 182
6.1.1數據模型 182
6.1.2概念視圖 183
6.1.3物理視圖 184
6.2HBase與RDBMS對比 185
6.3Bigtable的套用實例 188
6.4HBase的安裝與配置 189
6.5Java API 196
6.6HBase實例分析 204
6.6.1RowLock 204
6.6.2HBase的HFileOutputFormat 207
6.6.3HBase的TableOutputFormat 210
6.6.4在HBase中使用MapReduce 213
6.6.5HBase分散式模式 215
第7章Hadoop的數據倉庫Hive 220
7.1Hive的安裝 220
7.1.1準備的軟體包 220
7.1.2內嵌模式安裝 220
7.1.3安裝獨立模式 221
7.1.4遠程模式安裝 222
7.1.5查看數據信息 222
7.2Hive的入口 223
7.2.1類CliDriver 225
7.2.2類CliSessionState 229
7.2.3類CommandProcessor 230
7.3Hive QL詳解 232
7.3.1Hive的數據類型 232
7.3.2Hive與資料庫比較 233
7.3.3DDL操作 234
7.3.4join查詢 241
7.3.5DML操作 243
7.3.6SQL操作 245
7.3.7Hive QL的套用實例 248
7.4Hive的服務 250
7.4.1JDBC/ODBC服務 250
7.4.2Thrift服務 253
7.4.3Web接口 255
7.5Hive SQL的最佳化 256
7.5.1Hive SQL最佳化選項 256
7.5.2Hive SQL最佳化套用實例 258
7.6Hive的擴展性 261
7.6.1SerDe 262
7.6.2Map/Reduce腳本 263
7.6.3UDF 263
7.6.4UDAF 264
7.7Hive實戰 266
第8章Hadoop的大規模數據平台Pig 274
8.1Pig的安裝與運行 274
8.1.1Pig的安裝 274
8.1.2Pig的運行 274
8.2Pig實現 278
8.3Pig Latin語言 279
8.3.1Pig Latin語言概述 280
8.3.2Pig Latin數據類型 282
8.3.3Pig Latin運算符 284
8.3.4Pig Latin關鍵字 287
8.3.5Pig內置函式 288
8.4自定義函式 291
8.4.1UDF的編寫 292
8.4.2UDFS的使用 293
8.5Jaql和Pig查詢語言的比較 293
8.5.1Pig和Jaql運行環境和執行形式的比較 294
8.5.2Pig和Jaql支持數據類型的比較 294
8.5.3Pig和Jaql操作符和內建函式以及自定義函式的比較 295
8.5.4其他 299
8.6Pig實戰 300
第9章Hadoop的非關係型數據Cassandra 308
9.1Cassandra的安裝 308
9.1.1在Windows 7中安裝 308
9.1.2在Linux中安裝 310
9.2Cassandra的數據模型 311
9.2.1Column 311
9.2.2SuperColumn 312
9.2.3ColumnFamily 312
9.2.4Row 313
9.2.5排序 313
9.3Cassandra的實例分析 315
9.3.1Cassandra的數據存儲結構 315
9.3.2跟蹤客戶端代碼 319
9.4Cassandra常用的程式語言 324
9.4.1Java使用Cassandra 324
9.4.2PHP使用Cassandra 325
9.4.3Python使用Cassandra 326
9.4.4C#使用Cassandra 327
9.4.5Ruby使用Cassandra 328
9.5Cassandra與MapReduce結合 328
9.5.1需求分析 329
9.5.2代碼分析 330
9.5.3MapReduce代碼 330
9.6Cassandra實戰 331
9.6.1BuyerDao功能驗證 331
9.6.2SellerDao功能驗證 332
9.6.3ProductDao功能驗證 333
9.6.4新建Schema線上功能 336
9.6.5功能驗證 337
第10章Hadoop的收集數據Chukwa 339
10.1Chukwa的安裝與配置 339
10.1.1配置要求 339
10.1.2Chukwa的安裝 340
10.1.3基本命令 341
10.2Chukwa數據流處理 344
10.2.1支持數據類型 344
10.2.2數據處理 345
10.2.3自定義數據模組 351
10.3Chukwa原始碼分析 352
10.3.1Chukwa適配器 352
10.3.2Chukwa連線器 357
10.3.3Chukwa收集器 362
10.4Chukwa實例分析 366
10.4.1生成數據 366
10.4.2收集數據 367
10.4.3處理數據 367
10.4.4析取數據 368
10.4.5稀釋數據 368
第11章Hadoop的分散式系統ZooKeeper 369
11.1ZooKeeper的安裝與配置 369
11.1.1ZooKeeper的安裝 369
11.1.2ZooKeeper的配置 371
11.1.3ZooKeeper數據模型 373
11.1.4ZooKeeper的API接口 373
11.1.5ZooKeeper編程實現 375
11.2ZooKeeper的Leader流程 378
11.3ZooKeeper鎖服務 379
11.3.1ZooKeeper中的鎖機制 379
11.3.2ZooKeeper的寫鎖實現 380
11.3.3ZooKeeper鎖服務實現例子 381
11.4創建ZooKeeper應用程式 383
11.5ZooKeeper的套用開發 387
11.6ZooKeeper的典型套用 395
11.6.1統一命名服務 396
11.6.2配置管理 396
11.6.3集群管理 397
11.6.4共享鎖 398
11.6.5佇列管理 399
11.7實現NameNode自動切換 402
網上參考資源 410
參考文獻 412

相關詞條

相關搜尋

熱門詞條

聯絡我們