本書介紹了云計算的相關概念及實踐應用,重點闡述了開源IaaS云平臺OpenStack和分布式存儲與計算平臺Hadoop的原理及使用方法。主要內容包括OpenStack架構和組件、OpenStack的安裝部署、OpenStack基本操作和管理、Hadoop相關項目、Hadoop安裝與配置、Hadoop分布式計算實例。書中詳細介紹了云計算平臺OpenStack和Hadoop的部署及使用過程,讀者通過學習理論知識,結合云平臺的實踐操作,可對云計算技術快速入門,在此基礎上對云計算開展深入研究。本書配套PPT、源代碼、習題解答等。
金永霞,河海大學物聯網工程學院教師。承擔的教研項目有河海大學2014年度教學研究項目“云計算實驗教學中提高大學生創新實踐能力的研究與實踐”。
目 錄
第1章 云計算概述1
1.1 理解云計算1
1.2 云計算的三大交付模型1
1.2.1 基礎設施即服務(IaaS)1
1.2.2 平臺即服務(PaaS)2
1.2.3 軟件即服務(SaaS)3
1.2.4 云交付模型的比較3
1.3 云計算的四大部署模式4
1.4 云計算的關鍵技術——虛擬化4
1.4.1 硬件無關性5
1.4.2 服務器整合5
1.4.3 資源復制5
1.4.4 基于操作系統的虛擬化5
1.4.5 基于硬件的虛擬化6
1.4.6 虛擬化管理6
1.5 基本云架構模型7
1.5.1 相關技術7
1.5.2 負載分布架構7
1.5.3 資源池架構8
1.5.4 動態可擴展架構8
1.6 云計算解決方案及廠商簡介8
本章小結9
思考題10
第2章 開源云平臺OpenStack11
2.1 OpenStack發展史11
2.2 OpenStack概述12
2.3 OpenStack架構剖析13
2.4 OpenStack核心組件14
2.4.1 Identity組件Keystone14
2.4.2 Storage組件Swift、Glance及Cinder16
2.4.3 Compute組件Nova20
2.4.4 Network組件Neutron21
本章小結24
思考題24
第3章 OpenStack安裝部署25
3.1 DevStack腳本安裝25
3.1.1 環境準備25
3.1.2 安裝26
3.2 OpenStack自動化部署28
3.2.1 自動化安裝和配置工具28
3.2.2 IBM OpenStack自動化部署方案33
3.2.3 Fuel快速安裝多節點OpenStack36
3.3 OpenStack手動安裝配置49
3.3.1 多節點部署的典型架構50
3.3.2 多節點虛擬機配置53
3.3.3 基礎環境準備和設置60
3.3.4 認證服務的安裝和配置61
3.3.5 鏡像服務的安裝和配置66
3.3.6 計算服務的安裝和配置70
3.3.7 網絡服務的安裝和配置75
3.3.8 安裝Horizon84
3.3.9 安裝塊存儲服務85
本章小結89
思考題89
第4章 OpenStack云平臺應用與實踐90
4.1 項目和用戶管理90
4.1.1 儀表盤設置90
4.1.2 項目管理91
4.1.3 用戶管理95
4.2 虛擬機管理99
4.2.1 設置云主機類型(Flavor)99
4.2.2 虛擬機實例操作101
4.3 存儲管理108
4.3.1 鏡像操作108
4.3.2 卷操作111
4.4 網絡管理120
4.4.1 創建網絡120
4.4.2 創建子網121
4.4.3 查看網絡列表123
4.4.4 刪除網絡123
4.5 云監控工具:Nagios和Ganglia的使用124
4.5.1 Nagios對服務與資源的監控124
4.5.2 Ganglia對云平臺性能的監控128
4.6 OpenStack環境下的桌面云系統128
4.6.1 基于OpenStack的桌面虛擬化實現方案129
4.6.2 桌面云系統的應用和實踐132
本章小結134
思考題134
第5章 云計算的開源實現Hadoop135
5.1 Hadoop概述135
5.2 Hadoop在云計算和大數據中的位置和其相應關系135
5.3 Hadoop生態系統136
5.3.1 Hadoop分布式文件系統HDFS137
5.3.2 Hadoop分布式計算模型MapReduce138
5.3.3 Hadoop分布式數據庫HBase139
5.3.4 Hadoop數據倉庫Hive141
5.4 Hadoop的行業應用142
本章小結144
思考題144
第6章 Hadoop安裝和部署145
6.1 Hadoop安裝環境145
6.2 Hadoop實驗集群的部署結構145
6.3 Hadoop安裝部署實驗146
6.3.1 Hadoop偽分布式安裝配置146
6.3.2 Hadoop集群式安裝配置156
6.3.3 第一個MapReduce測試程序158
6.4 Hadoop集群異常問題及解決方法160
本章小結162
思考題162
第7章 Hadoop應用與實踐163
7.1 HDFS基本操作163
7.1.1 HDFS基本概念163
7.1.2 HDFS Shell命令166
7.1.3 HDFS的Web接口178
7.1.4 HDFS的Java訪問接口179
7.2 MapReduce編程192
7.2.1 MapReduce工作機制192
7.2.2 在Eclipse中配置開發環境193
7.2.3 MapReduce程序結構197
7.2.4 MapReduce應用實例199
7.3 HBase的基本操作229
7.3.1 HBase安裝部署229
7.3.2 HBase的SHELL操作231
7.3.3 HBase的Java API234
本章小結238
思考題238
第8章 OpenStack環境下Hadoop的應用239
8.1 Savanna簡介239
8.2 Savanna應用與實踐240
本章小結249
思考題249
附錄A 常用Linux命令250
附錄B 常用OpenStack命令285
參考文獻294