本書在闡述云計算和大數(shù)據(jù)關(guān)系的基礎上,介紹了云計算和大數(shù)據(jù)的基本概念、技術(shù)及應用。全書內(nèi)容如下: 第1~4章講述云計算的概念和原理,包括云計算的概論、基礎、虛擬化、應用; 第5~8章講述大數(shù)據(jù)概述及基礎,包括大數(shù)據(jù)概念和發(fā)展背景、大數(shù)據(jù)系統(tǒng)架構(gòu)概述、分布式通信與協(xié)同、大數(shù)據(jù)存儲; 第9~13章講述大數(shù)據(jù)處理,包括分布式處理、Hadoop MapReduce解析、Spark解析、流計算、集群資源管理與調(diào)度; 第14章講述綜合實踐(在OpenStack平臺上搭建Hadoop并進行數(shù)據(jù)分析)。
本書結(jié)合實際應用及實踐過程來講解相關(guān)概念、原理和技術(shù),實用性較強。適合作為本科院校計算機、云計算、大數(shù)據(jù)及信息管理等相關(guān)專業(yè)的教材,也適合計算機愛好者閱讀和參考。
目錄
第1章云計算概論
1.1什么是云計算
1.2云計算的產(chǎn)生背景
1.3云計算的發(fā)展歷史
1.4如何學好云計算
習題
第2章云計算基礎
2.1分布式計算
2.2云計算的基本概念
2.3云計算的關(guān)鍵技術(shù)
2.3.1分布式海量數(shù)據(jù)存儲
2.3.2虛擬化技術(shù)
2.3.3云平臺技術(shù)
2.3.4并行編程技術(shù)
2.3.5數(shù)據(jù)管理技術(shù)
2.4云交付模型
2.4.1軟件即服務
2.4.2平臺即服務
2.4.3基礎設施即服務
2.4.4基本云交付模型的比較
2.4.5容器即服務
2.5云部署模式
2.5.1公有云
2.5.2私有云
2.5.3混合云
2.6云計算的優(yōu)勢與挑戰(zhàn)
2.7典型云應用
2.7.1云存儲
2.7.2云服務
2.7.3云物聯(lián)
2.8云計算與大數(shù)據(jù)
習題
第3章虛擬化
3.1虛擬化簡介
3.1.1什么是虛擬化
3.1.2虛擬化的發(fā)展歷史
3.1.3虛擬化帶來的好處
3.2虛擬化的分類
3.2.1服務器虛擬化
3.2.2網(wǎng)絡虛擬化
3.2.3存儲虛擬化
3.2.4應用虛擬化
3.2.5技術(shù)比較
3.3系統(tǒng)虛擬化
3.4虛擬化與云計算
3.5開源技術(shù)
3.5.1Xen
3.5.2KVM
3.5.3OpenVZ
3.6虛擬化未來發(fā)展趨勢
習題
第4章云計算的應用
4.1概述
4.2Google公司的云計算平臺與應用
4.2.1MapReduce分布式編程環(huán)境
4.2.2分布式大規(guī)模數(shù)據(jù)庫管理系統(tǒng)BigTable
4.2.3Google的云應用
4.3亞馬遜的彈性計算云
4.3.1開放的服務
4.3.2靈活的工作模式
4.3.3總結(jié)
4.4IBM藍云云計算平臺
4.4.1藍云云計算平臺中的虛擬化
4.4.2藍云云計算平臺中的存儲結(jié)構(gòu)
4.5清華大學透明計算平臺
4.6阿里云
4.6.1阿里云簡介
4.6.2阿里云的發(fā)展過程
4.6.3阿里云的主要產(chǎn)品
4.7Microsoft Azure
4.7.1Microsoft Azure簡介
4.7.2Microsoft Azure架構(gòu)
4.7.3Microsoft Azure服務平臺
4.7.4開發(fā)步驟
習題
第5章大數(shù)據(jù)概念和發(fā)展背景
5.1什么是大數(shù)據(jù)
5.2大數(shù)據(jù)的特點
5.3大數(shù)據(jù)發(fā)展
5.4大數(shù)據(jù)應用
習題
第6章大數(shù)據(jù)系統(tǒng)架構(gòu)概述
6.1總體架構(gòu)概述
6.1.1總體架構(gòu)設計原則
6.1.2總體架構(gòu)參考模型
6.2運行架構(gòu)概述
6.2.1物理架構(gòu)
6.2.2集成架構(gòu)
6.2.3安全架構(gòu)
6.3主流大數(shù)據(jù)系統(tǒng)廠商
6.3.1Cloudera
6.3.2Hortonworks
6.3.3Amazon
6.3.4Google
6.3.5微軟
6.3.6阿里云數(shù)加平臺
習題
第7章分布式通信與協(xié)同
7.1數(shù)據(jù)編碼傳輸
7.1.1數(shù)據(jù)編碼概述
7.1.2LZSS算法
7.1.3Snappy壓縮庫
7.2分布式通信系統(tǒng)
7.2.1遠程過程調(diào)用
7.2.2消息隊列
7.2.3應用層多播通信
7.2.4Hadoop IPC應用
7.3分布式協(xié)同系統(tǒng)
7.3.1Chubby鎖服務
7.3.2ZooKeeper
7.3.3ZooKeeper在HDFS高可用中使用
習題
第8章大數(shù)據(jù)存儲
8.1大數(shù)據(jù)存儲技術(shù)發(fā)展
8.2海量數(shù)據(jù)存儲的關(guān)鍵技術(shù)
8.2.1數(shù)據(jù)分片與路由
8.2.2數(shù)據(jù)復制與一致性
8.3重要數(shù)據(jù)結(jié)構(gòu)和算法
8.3.1Bloom Filter
8.3.2LSM樹
8.3.3Merkle哈希樹
8.3.4Cuckoo哈希
8.4分布式文件系統(tǒng)
8.4.1文件存儲格式
8.4.2Google文件系統(tǒng)
8.4.3HDFS
8.5分布式數(shù)據(jù)庫NoSQL
8.5.1NoSQL數(shù)據(jù)庫概述
8.5.2KV數(shù)據(jù)庫
8.5.3列式數(shù)據(jù)庫
8.5.4圖數(shù)據(jù)庫
8.5.5文檔數(shù)據(jù)庫
8.6HBase數(shù)據(jù)庫搭建與使用
8.6.1HBase偽分布式運行
8.6.2HBase分布式運行
8.7大數(shù)據(jù)存儲技術(shù)趨勢
習題
第9章分布式處理
9.1CPU多核和POSIX Thread
9.2MPI并行計算框架
9.3Hadoop MapReduce
9.4Spark
9.5數(shù)據(jù)處理技術(shù)發(fā)展
習題
第10章Hadoop MapReduce解析
10.1Hadoop MapReduce架構(gòu)
10.2Hadoop MapReduce與高性能計算、網(wǎng)格計算的區(qū)別
10.3MapReduce工作機制
10.3.1Map
10.3.2Reduce
10.3.3Combine
10.3.4Shuffle
10.3.5Speculative Task
10.3.6任務容錯
10.4應用案例
10.4.1WordCount
10.4.2WordMean
10.4.3Grep
10.5MapReduce的缺陷與不足
習題
第11章Spark解析
11.1Spark RDD
11.2Spark與MapReduce對比
11.3Spark工作機制
11.3.1DAG工作圖
11.3.2Partition
11.3.3Lineage容錯方法
11.3.4內(nèi)存管理
11.3.5數(shù)據(jù)持久化
11.4數(shù)據(jù)讀取
11.4.1HDFS
11.4.2Amazon S3
11.4.3HBase
11.5應用案例
11.5.1日志挖掘
11.5.2判別西瓜好壞
11.6Spark發(fā)展趨勢
習題
第12章流計算
12.1流計算概述
12.2流計算與批處理系統(tǒng)對比
12.3Storm流計算系統(tǒng)
12.4Samza流計算系統(tǒng)
12.5集群日志文件實時分析
12.6流計算發(fā)展趨勢
習題
第13章集群資源管理與調(diào)度
13.1集群資源統(tǒng)一管理系統(tǒng)
13.1.1集群資源管理概述
13.1.2Apache YARN
13.1.3Apache Mesos
13.1.4Google Omega
13.2資源管理模型
13.2.1基于slot的資源表示模型
13.2.2基于最大、最小公平原則的資源分配模型
13.3資源調(diào)度策略
13.3.1調(diào)度策略概述
13.3.2Capacity Scheduler調(diào)度
13.3.3Fair Scheduler調(diào)度
13.4YARN上運行計算框架
13.4.1MapReduce on YARN
13.4.2Spark on YARN
13.4.3YARN程序設計
習題
第14章綜合實踐: 在OpenStack平臺上搭建Hadoop并進行數(shù)據(jù)分析
14.1OpenStack簡介
14.2OpenStack的安裝及配置
14.2.1OpenStack安裝準備
14.2.2OpenStack在線安裝
14.2.3搭建OpenStack中的虛擬機
14.3大數(shù)據(jù)環(huán)境安裝
14.3.1Java安裝
14.3.2Hadoop安裝
14.4大數(shù)據(jù)分析案例
14.4.1日志分析
14.4.2電商購買記錄分析
14.4.3交通流量分析
參考文獻