第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章 开源云平台OpenStack 11
2.1 OpenStack发展史 11
2.2 OpenStack概述 12
2.3 OpenStack架构剖析 13
2.4 OpenStack核心组件 14
2.4.1 Identity组件Keystone 14
2.4.2 Storage组件Swift、 Glance及Cinder 16
2.4.3 Compute组件Nova 20
2.4.4 Network组件Neutron 21
本章小结 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快速安装多节点OpenStack 36
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 安装Horizon 84
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章 云计算的开源实现Hadoop 135
5.1 Hadoop概述 135
5.2 Hadoop在云计算和大数据中的位置和其相应关系 135
5.3 Hadoop生态系统 136
5.3.1 Hadoop分布式文件系统HDFS 137
5.3.2 Hadoop分布式计算模型MapReduce 138
5.3.3 Hadoop分布式数据库HBase 139
5.3.4 Hadoop数据仓库Hive 141
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 API 234
本章小结 238
思考题 238
第8章 OpenStack环境下Hadoop的应用 239
8.1 Savanna简介 239
8.2 Savanna应用与实践 240
本章小结 249
思考题 249
附录A 常用Linux命令 250
附录B 常用OpenStack命令 285
参考文献 294