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