第1篇 基础篇
第1章 大数据的三把利剑
1.1 豌豆杂交实验
1.2 曹冲称象启示
1.3 谷歌的三把利剑
1.4 智慧改变世界
第2章 企业的大数据观
2.1 企业面临的挑战
2.1.1 数据能力是核心竞争力
2.1.2 从粗放经营到智慧经营
2.1.3 技术与商业的双重挑战
2.2 企业大数据从哪来
2.2.1 来自于主体的产生
2.2.2 来自于客体的产生
2.2.3 来自于社会的产生
2.3 企业大数据如何存储
2.3.1 非结构化数据存储
2.3.2 结构化数据存储
2.3.3 半结构化数据存储
2.3.4 大数据存储的问题
2.4 企业大数据如何加工
2.4.1 分析或挖掘模型设计
2.4.2 并行处理程序编码
2.4.3 结果在全局中呈现
2.5 企业的大数据到哪里去
2.5.1 大数据对企业影响深远
2.5.2 大数据是一种新商品
2.5.3 精准营销需要大数据
2.6 企业大数据观总结
第3章 大数据和大数据系统
3.1 大数据
3.1.1 大数据概念
3.1.2 大数据的特征
3.1.3 数据计量单位
3.1.4 大数据来源
3.1.5 大数据类型
3.2 大数据系统
3.2.1 设计目标和原则
3.2.2 系统的设计思想
3.2.3 系统的逻辑架构
3.2.4 与现有系统的关系
3.2.5 当前的大数据系统
第2篇 技术篇
第4章 分布、键值对与族
4.1 分布与MapReduce
4.2 键值对的奥妙所在
4.3 动态数据库表原理
第5章 HDFS(分布式文件系统)
5.1 设计目标
5.2 基本概念
5.2.1 块
5.2.2 名称节点与数据节点
5.3 系统架构
5.3.1 逻辑架构
5.3.2 物理架构
5.4 运行机制
5.4.1 文件读取
5.4.2 文件写入
5.4.3 特别关注
5.5 系统功能
5.5.1 多文件系统
5.5.2 目录管理
5.5.3 文件管理
5.5.4 文件归档
5.5.5 并行复制
5.6 系统I/O 特性
5.6.1 完整性校验
5.6.2 压缩与编码解码
5.6.3 序列化
5.6.4 特殊文件结构
5.7 非Java 访问接口
5.8 系统性能
5.8.1 可靠性措施
5.8.2 性能优化
第6章 MapReduce 分布式编程模式
6.1 不同于传统
6.2 设计思想
6.3 基本概念
6.3.1 map()函数
6.3.2 reduce()函数
6.3.3 键值对
6.3.4 中间结果
6.3.5 移动代码
6.3.6 作业和任务节点
6.4 系统架构
6.4.1 逻辑架构
6.4.2 物理架构
6.5 运行机制
6.5.1 作业运行
6.5.2 作业调度
6.5.3 任务执行
6.5.4 状态更新
6.5.5 作业完成
6.5.6 故障处理
6.6 关键技术
6.6.1 计数器
6.6.2 排序
6.6.3 连接
6.6.4 shuffle
6.6.5 内存处理
6.6.6 分布式缓存
6.7 类型与格式
6.7.1 MR 的类型
6.7.2 输入格式
6.7.3 输出格式
6.8 MR 的开发
6.8.1 开发端环境的建立
6.8.2 开发及单元测试
6.8.3 本地运行测试
6.8.4 集群运行
6.8.5 作业调试
6.8.6 远程调试
6.8.7 作业调优
6.9 MR 工作流
第7章 HBase 分布式数据库
7.1 设计目标
7.2 基本概念
7.2.1 逻辑模型
7.2.2 物理模型
7.2.3 区域
7.2.4 基本单元
7.2.5 Region 服务器
7.2.6 Master 主服务器
7.2.7 .META.元数据表
7.2.8 -ROOT-元数据表
7.3 系统架构
7.3.1 逻辑架构
7.3.2 物理架构
7.4 运行机制
7.5 系统功能
7.5.1 用户界面
7.5.2 shell 操作
7.6 库表设计
7.7 访问接口
第3篇 设计篇
第8章 系统设计背景和目标
8.1 系统设计背景
8.2 系统设计目标
8.2.1 存在问题
8.2.2 设计目标
第9章 系统架构设计
9.1 逻辑架构设计
9.1.1 系统逻辑架构
9.1.2 系统运行逻辑
9.2 功能架构设计
9.2.1 大数据管理系统的功能
9.2.2 ZooKeeper 系统的功能
9.2.3 Chukwa 采集系统的功能
9.2.4 Pig 系统功能
9.2.5 Hive 系统功能
9.3 数据架构设计
9.3.1 数据总体架构
9.3.2 分布式文件数据结构
9.3.3 分布式数据库数据结构
9.3.4 关系型数据库数据构成
第10章 运行架构设计
10.1 物理架构设计
10.1.1 网络拓扑
10.1.2 软/硬件选型
10.2 集成架构设计
10.2.1 总体集成设计
10.2.2 专项集成设计
10.3 安全架构设计
10.3.1 用户层安全
10.3.2 应用层安全
10.3.3 数据层安全
10.4 开发架构设计
第4篇 安装篇
第11章 安装规划
11.1 安装目标
11.2 安装步骤
第12章 环境准备
12.1 主机准备
12.2 介质准备
12.3 基础安装
12.3.1 JDK 安装
12.3.2 用户创建
12.3.3 SSH 配置
第13章 集群安装
13.1 HDFS 集群
13.1.1 解析配置
13.1.2 模板创建
13.1.3 复制分发
13.1.4 运行启动
13.1.5 测试验证
13.2 HBase 集群
13.2.1 解析配置
13.2.2 模板创建
13.2.3 复制分发
13.2.4 运行启动
13.2.5 测试验证
13.3 ZooKeeper 集群
13.3.1 解析配置
13.3.2 模板创建
13.3.3 复制分发
13.3.4 运行启动
13.3.5 测试验证
第14章 分布式应用安装
14.1 Pig 安装
14.1.1 本地安装
14.1.2 本地验证
14.1.3 集成配置
14.1.4 集成验证
14.2 Hive 安装
14.2.1 内嵌安装与验证
14.2.2 从内嵌改为独立
14.2.3 从独立改为远程
14.3 Chukwa 安装
14.3.1 基础系统安装
14.3.2 代理系统安装
14.3.3 收集系统的安装
14.3.4 作业系统的安装
14.3.5 HICC 系统的安装
第15章 集成联调
15.1 集群间的集成联调
15.1.1 HBase 与HDFS集成联调
15.1.2 HBase 与ZooKeeper集成联调
15.2 分布式应用与集群间的集成联调
15.2.1 Pig 与HDFS 的集成
15.2.2 Hive 与HDFS 的集成
15.2.3 Hive 与Hbase的集成
15.2.4 Chukwa 与HDFS的集成
15.3 客户端与分布式系统间的集成联调
15.3.1 与分布式集群系统的集成
15.3.2 与分布式应用系统的集成
第5篇 开发篇
第16章 大数据系统应用开发思路和环境
16.1 总体思路
16.1.1 大数据读写应用的开发
16.1.2 大数据分析应用的开发
16.2 开发环境
16.2.1 Plugin 插件的安装
16.2.2 Hadoop 开发环境的配置
16.2.3 示例程序验证
第17章 HDFS 文件读/写应用开发
17.1 文件列表
17.2 文件读取
17.3 文件上传
17.4 文件创建
17.5 文件写入
17.6 文件压缩与解压
17.6.1 压缩写入
17.6.2 解压后读取
17.7 目录创建
17.8 文件重命名
17.9 删除文件
17.10 查看文件时间
17.11 查看文件是否存在
17.12 查找文件位置
17.13 查找集群所有的节点
17.14 SequenceFile 文件格式转换
17.14.1 创建SequenceFile 格式的文件
17.14.2 读取SequenceFile 格式的文件
17.15 MapFile 文件格式转换
17.15.1 创建MapFile 格式的文件
17.15.2 读取MapFile 格式的文件
17.15.3 SequenceFile 格式转换成MapFile 格式
第18章 HBase 数据库读/写应用开发
18.1 创建表
18.2 删除表
18.3 查询数据库中的表
18.4 插入记录
18.5 查询记录
18.5.1 列族的查询
18.5.2 查询所有记录
18.5.3 基于行键查询
18.5.4 基于标签值查询
18.5.5 组合条件查询
18.6 修改记录
18.7 删除记录
第19章 ZooKeeper 开发
19.1 创建节点
19.2 删除节点
19.3 加入子节点
19.4 列出节点成员
19.5 获取节点内容
第20章 MapReduce 开发
第21章 Pig 开发
第22章 Hive 开发
第6篇 实践篇
第23章 企业大数据盘系统
第24章 Hadoop 的日志分析
参考文献