第1章 1
云計算基礎 1
1.1 云計算技術概述 1
1.1.1 云計算簡介 1
1.1.2 云計算的特點 2
1.1.3 云計算技術分類 3
1.1.4 計算機技術向現(xiàn)代信息技術演進的歷程 4
1.2 集群系統(tǒng)概述 5
1.2.1 集群系統(tǒng)的基本概念 5
1.2.2 集群系統(tǒng)系統(tǒng)的分類 6
1.3 分布式系統(tǒng)中計算和數(shù)據(jù)的協(xié)作機制 6
1.3.1 基于計算切分的分布式計算 6
1.3.2 基于計算和數(shù)據(jù)切分的混合型分布式計算技術—網格計算 7
1.3.3 基于數(shù)據(jù)切分的分布式計算技術 8
1.3.4 三種分布式系統(tǒng)的分析對比 10
1.4 云計算平臺服務 11
1.4.1 IAAS(基礎設施即服務) 11
1.4.2 PAAS(平臺即服務) 11
1.4.3 SAAS(軟件即服務) 11
1.5 云計算與物聯(lián)網 11
練習題 13
第2章 1
大數(shù)據(jù)基礎 1
2.1 大數(shù)據(jù)技術概述 1
2.1.1 大數(shù)據(jù)簡介 1
2.1.2 大數(shù)據(jù)產生的原因 1
2.1.3 數(shù)據(jù)的計量單位 2
2.1.4 大數(shù)據(jù)是人類認識世界的新手段 3
2.1.5 幾類高性能計算系統(tǒng)對比分析 4
2.1.6主要的大數(shù)據(jù)處理系統(tǒng) 4
2.1.7 大數(shù)據(jù)處理的基本流程 6
2.2 大數(shù)據(jù)的典型應用示例 7
2.2.1 大數(shù)據(jù)在高能物理中的應用 7
2.2.2 推薦系統(tǒng) 8
2.2.3 搜索引擎系統(tǒng) 8
2.2.4 百度遷徙 9
2.3 大數(shù)據(jù)中的集群技術 10
1.2.2 集群文件系統(tǒng)的基本概念 10
2.3.1 什么是集群系統(tǒng) 11
2.3.2 大數(shù)據(jù)并行計算的層次 13
2.3.3 大數(shù)據(jù)系統(tǒng)的分類方法 14
2.3.3 單一系統(tǒng)映象 15
2.3.4 集群中的一致性 15
2.4 云計算與大數(shù)據(jù)的發(fā)展 17
2.4.1 云計算與大數(shù)據(jù)發(fā)展歷程 17
2.4.2 為云計算與大數(shù)據(jù)發(fā)展做出貢獻的科學家 20
2.4.3 云計算與大數(shù)據(jù)的國內發(fā)展現(xiàn)狀 21
練習題 22
第3章 1
虛擬化技術 1
3.1 虛擬化技術簡介 1
3.1.1 虛擬化技術的發(fā)展 1
3.1.2 虛擬化技術的優(yōu)勢和劣勢 2
3.1.3 虛擬化技術的分類 3
3.2 常見虛擬化軟件 6
3.2.1 VirtualBox 6
3.2.2 VMware Workstation 6
3.2.3 KVM 6
3.3 系統(tǒng)虛擬化 7
3.3.1 服務器虛擬化 8
3.3.2 桌面虛擬化 10
3.3.3 網絡虛擬化 13
3.4 任務 使用KVM構建虛擬機群 13
3.4.1 子任務1 系統(tǒng)環(huán)境設置 13
3.4.2 子任務2 安裝虛擬化軟件包 15
3.4.3 子任務3 虛擬系統(tǒng)管理器的使用 16
3.4.4 子任務4 虛擬機的遠程訪問 19
練習題 21
第4章 1
虛擬化平臺 1
4.1 XenServer 1
4.1.1 XenServer優(yōu)點 2
4.1.2 XenServer硬件要求 2
4.2 任務 XenServer部署 3
4.2.1 子任務1 XenServer的安裝 3
4.2.2 子任務2 XenCenter的安裝 7
4.2.3 子任務3 制作模板 10
4.2.4 子任務4 創(chuàng)建虛擬機 16
4.3 VMware vSphere 19
4.3.1 VMware vSphere體系結構 19
4.3.2 VMware vSphere組件及其功能 21
4.3.3 VMware vSphere硬件要求 22
4.4 任務 vSphere部署 24
4.4.1 子任務1 ESXi的安裝 24
4.4.2 子任務1 vSphere Client的安裝 26
練習題 33
第5章 1
面向計算—MPI 1
5.1 MPI概述 1
5.2 MPI的架構和特點 2
5.3 任務一 MPICH并行環(huán)境的建立 3
5.3.1 子任務1 系統(tǒng)環(huán)境設置 3
5.3.2 子任務2 用戶創(chuàng)建和ssh設置 4
5.3.3 子任務3 NFS服務的安裝 5
5.3.4 子任務4 MPICH編譯運行 5
5.4 任務二 MPI分布式程序設計 7
5.4.1 子任務1 簡單并行程序的編寫 7
5.4.2 子任務2 獲取進程標志和機器名 9
5.4.3 子任務3 有消息傳遞功能的并行程序 12
5.4.4 子任務4 Monte Carlo法在并行程序設計中的應用 16
5.4.5 子任務5 并行計算中節(jié)點間的Reduce操作 19
5.4.6 設計MPI并行程序時的注意事項 21
練習題 22
第6章 1
分布式大數(shù)據(jù)系統(tǒng) 1
—Hadoop 1
6.1 Hadoop概述 1
6.2 HDFS 2
6.1.1 Google文件系統(tǒng)(GFS) 2
6.2.2 HDFS文件的基本結構 4
6.2.3 HDFS的存儲過程 5
6.2.4 YARN架構 6
6.3 任務一 搭建Hadoop系統(tǒng) 7
6.3.1 子任務1 系統(tǒng)環(huán)境設置 7
6.3.2 子任務2 用戶創(chuàng)建和ssh設置 8
6.3.3 子任務3 Hadoop安裝和配置 9
6.3.4 子任務4 Hadoop的啟動和查看 13
6.4 分布式計算框架MapReduce 14
6.4.1 MapReduce的發(fā)展歷史 14
6.4.2 MapReduce的基本工作過程 15
6.4.3 MapReduce的特點 18
6.5 任務二 Map/Reduce的C語言實現(xiàn) 19
6.6 任務三 在Hadoop系統(tǒng)運行MapReduce程序 22
練習題 23
第7章 1
分布式數(shù)據(jù)庫—HBase 1
7.1 HBase 1
7.1.1 HBase簡介 1
7.1.2 HBase物理模型 2
7.1.3 HBase架構及基本組件 3
7.1.4 HBase組織結構 5
7.2 任務 HBase的搭建與使用 5
7.2.1 子任務1 HBase環(huán)境的搭建 6
7.2.2 子任務2 HBase的啟動 8
7.2.3 子任務2 HBase Shell的使用 9
7.2.4 子任務3 HBase編程 10
練習題 20
第8章 1
數(shù)據(jù)倉庫平臺—Hive 1
8.1 Hive 1
8.1.1 Hive簡介 1
8.1.2 Hive的體系結構 2
8.1.3 Hive元數(shù)據(jù)存儲 3
8.1.4 Hive的數(shù)據(jù)存儲 5
8.1.5 Hive和普通關系型數(shù)據(jù)庫的差異 6
8.2 任務一 MySQL的搭建 7
8.3 任務二 Hive的搭建與使用 9
8.2.1 子任務1 Hive環(huán)境的搭建 9
8.2.2 子任務2 Hive Client的搭建 12
8.2.3 子任務3 Hive的基本操作 13
8.2.4 子任務4 Hive內部表與外部表的操作 14
8.2.5 子任務5 HWI的使用 16
8.2.6 子任務6 Beeline與JDBC編程 18
8.2.7 子任務6 Hive與HBase集成 23
練習題 26
第9章 1
基于拓撲的流數(shù)據(jù)實時計算系統(tǒng)—Storm 1
9.1 Storm簡介 1
9.2 Storm原理及其體系結構 2
9.2.1 Storm編程模型原理 2
9.2.2 Storm體系結構 3
9.2.3 ZooKeeper工作原理 4
9.3 任務一 搭建Storm開發(fā)環(huán)境 5
9.3.1 子任務1 系統(tǒng)環(huán)境設置 5
9.3.2 子任務2 安裝Python工具包 7
9.3.3 子任務3 安裝ZeroMQ和JZMQ工具包 7
9.3.4 子任務4 安裝Zookeeper工具包 8
9.3.5 子任務5 安裝Storm工具包 10
9.3.6 子任務6 復制工具包 11
9.3.7 子任務7 Storm的啟動 12
9.4 任務二 Storm使用實例 13
9.4.1 子任務1 安裝Maven工具包 13
9.4.2 子任務2 使用Maven管理storm-starter 15
9.4.3 子任務3 WordCountTopology實例分析 16
練習題 21
第10章 1
云存儲系統(tǒng)—Swift 1
10.1 云存儲概述 1
10.1.1 什么是云存儲 1
10.1.2 云存儲的分類 1
10.1.3 云存儲的特點 2
10.1.4 存儲系統(tǒng)類別 3
10.2 Swift簡介 4
10.2.1 Swift的發(fā)展歷程 4
10.2.2 Swift 的特性 4
10.2.3 Swift工作原理 4
10.2.4 CAP理論 5
10.2.5 環(huán)的數(shù)據(jù)結構 6
10.2.6 Swift的系統(tǒng)架構 7
10.3 任務 Swift安裝部署 9
10.3.1 子任務1 系統(tǒng)環(huán)境設置 9
10.3.2 子任務2 安裝keystone 10
10.3.3 子任務3 安裝proxy 14
10.3.4 子任務4 安裝存儲節(jié)點 17
練習題 21