本書在闡述云計算和大數(shù)據(jù)關(guān)系的基礎(chǔ)上,介紹了云計算和大數(shù)據(jù)的基本概念、技術(shù)及應(yīng)用。全書內(nèi)容如下: 第1~4章講述云計算的概念和原理,包括云計算的概論、基礎(chǔ)、虛擬化、應(yīng)用; 第5~8章講述大數(shù)據(jù)概述及基礎(chǔ),包括大數(shù)據(jù)概念和發(fā)展背景、大數(shù)據(jù)系統(tǒng)架構(gòu)概述、分布式通信與協(xié)同、大數(shù)據(jù)存儲; 第9~13章講述大數(shù)據(jù)處理,包括分布式處理、Hadoop MapReduce解析、Spark解析、流計算、集群資源管理與調(diào)度; 第14章講述綜合實(shí)踐(在OpenStack平臺上搭建Hadoop并進(jìn)行數(shù)據(jù)分析)。
本書結(jié)合實(shí)際應(yīng)用及實(shí)踐過程來講解相關(guān)概念、原理和技術(shù),實(shí)用性較強(qiáng)。適合作為本科院校計算機(jī)、云計算、大數(shù)據(jù)及信息管理等相關(guān)專業(yè)的教材,也適合計算機(jī)愛好者閱讀和參考。
目錄
第1章云計算概論
1.1什么是云計算
1.2云計算的產(chǎn)生背景
1.3云計算的發(fā)展歷史
1.4如何學(xué)好云計算
習(xí)題
第2章云計算基礎(chǔ)
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軟件即服務(wù)
2.4.2平臺即服務(wù)
2.4.3基礎(chǔ)設(shè)施即服務(wù)
2.4.4基本云交付模型的比較
2.4.5容器即服務(wù)
2.5云部署模式
2.5.1公有云
2.5.2私有云
2.5.3混合云
2.6云計算的優(yōu)勢與挑戰(zhàn)
2.7典型云應(yīng)用
2.7.1云存儲
2.7.2云服務(wù)
2.7.3云物聯(lián)
2.8云計算與大數(shù)據(jù)
習(xí)題
第3章虛擬化
3.1虛擬化簡介
3.1.1什么是虛擬化
3.1.2虛擬化的發(fā)展歷史
3.1.3虛擬化帶來的好處
3.2虛擬化的分類
3.2.1服務(wù)器虛擬化
3.2.2網(wǎng)絡(luò)虛擬化
3.2.3存儲虛擬化
3.2.4應(yīng)用虛擬化
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ā)展趨勢
習(xí)題
第4章云計算的應(yīng)用
4.1概述
4.2Google公司的云計算平臺與應(yīng)用
4.2.1MapReduce分布式編程環(huán)境
4.2.2分布式大規(guī)模數(shù)據(jù)庫管理系統(tǒng)BigTable
4.2.3Google的云應(yīng)用
4.3亞馬遜的彈性計算云
4.3.1開放的服務(wù)
4.3.2靈活的工作模式
4.3.3總結(jié)
4.4IBM藍(lán)云云計算平臺
4.4.1藍(lán)云云計算平臺中的虛擬化
4.4.2藍(lán)云云計算平臺中的存儲結(jié)構(gòu)
4.5清華大學(xué)透明計算平臺
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服務(wù)平臺
4.7.4開發(fā)步驟
習(xí)題
第5章大數(shù)據(jù)概念和發(fā)展背景
5.1什么是大數(shù)據(jù)
5.2大數(shù)據(jù)的特點(diǎn)
5.3大數(shù)據(jù)發(fā)展
5.4大數(shù)據(jù)應(yīng)用
習(xí)題
第6章大數(shù)據(jù)系統(tǒng)架構(gòu)概述
6.1總體架構(gòu)概述
6.1.1總體架構(gòu)設(shè)計原則
6.1.2總體架構(gòu)參考模型
6.2運(yùn)行架構(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ù)加平臺
習(xí)題
第7章分布式通信與協(xié)同
7.1數(shù)據(jù)編碼傳輸
7.1.1數(shù)據(jù)編碼概述
7.1.2LZSS算法
7.1.3Snappy壓縮庫
7.2分布式通信系統(tǒng)
7.2.1遠(yuǎn)程過程調(diào)用
7.2.2消息隊列
7.2.3應(yīng)用層多播通信
7.2.4Hadoop IPC應(yīng)用
7.3分布式協(xié)同系統(tǒng)
7.3.1Chubby鎖服務(wù)
7.3.2ZooKeeper
7.3.3ZooKeeper在HDFS高可用中使用
習(xí)題
第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ù)復(fù)制與一致性
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偽分布式運(yùn)行
8.6.2HBase分布式運(yùn)行
8.7大數(shù)據(jù)存儲技術(shù)趨勢
習(xí)題
第9章分布式處理
9.1CPU多核和POSIX Thread
9.2MPI并行計算框架
9.3Hadoop MapReduce
9.4Spark
9.5數(shù)據(jù)處理技術(shù)發(fā)展
習(xí)題
第10章Hadoop MapReduce解析
10.1Hadoop MapReduce架構(gòu)
10.2Hadoop MapReduce與高性能計算、網(wǎng)格計算的區(qū)別
10.3MapReduce工作機(jī)制
10.3.1Map
10.3.2Reduce
10.3.3Combine
10.3.4Shuffle
10.3.5Speculative Task
10.3.6任務(wù)容錯
10.4應(yīng)用案例
10.4.1WordCount
10.4.2WordMean
10.4.3Grep
10.5MapReduce的缺陷與不足
習(xí)題
第11章Spark解析
11.1Spark RDD
11.2Spark與MapReduce對比
11.3Spark工作機(jī)制
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應(yīng)用案例
11.5.1日志挖掘
11.5.2判別西瓜好壞
11.6Spark發(fā)展趨勢
習(xí)題
第12章流計算
12.1流計算概述
12.2流計算與批處理系統(tǒng)對比
12.3Storm流計算系統(tǒng)
12.4Samza流計算系統(tǒng)
12.5集群日志文件實(shí)時分析
12.6流計算發(fā)展趨勢
習(xí)題
第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上運(yùn)行計算框架
13.4.1MapReduce on YARN
13.4.2Spark on YARN
13.4.3YARN程序設(shè)計
習(xí)題
第14章綜合實(shí)踐: 在OpenStack平臺上搭建Hadoop并進(jìn)行數(shù)據(jù)分析
14.1OpenStack簡介
14.2OpenStack的安裝及配置
14.2.1OpenStack安裝準(zhǔn)備
14.2.2OpenStack在線安裝
14.2.3搭建OpenStack中的虛擬機(jī)
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交通流量分析
參考文獻(xiàn)