Hadoop实战
Hadoop实战
1 Hadoop简介
1.1 什么是Hadoop
1.1.1 Hadoop概述
1.1.2 Hadoop的历史
1.1.3 Hadoop的功能与作用
1.1.4 Hadoop的优势
1.1.5 Hadoop的应用现状和发展趋势
1.2 Hadoop项目及其结构
1.3 Hadoop的体系结构
1.3.1 HDFS的体系结构
1.3.2 MapReduce的体系结构
1.4 Hadoop与分布式开发
1.5 Hadoop计算模型—MapReduce
1.6 Hadoop的数据管理
1.6.1 HDFS的数据管理
1.6.2 HBase的数据管理
1.6.3 Hive的数据管理
1.7 小结
2 Hadoop的安装与配置
2.1 在Linux上安装与配置Hadoop
2.1.1 安装JDK 1.6
2.1.2 配置SSH免密码登录
2.1.3 安装并运行Hadoop
2.2 在Windows上安装与配置Hadoop
2.2.1 安装Cygwin
2.2.2 配置环境变量
2.2.3 安装和启动sshd服务
2.2.4 配置SSH免密码登录
2.3 安装和配置Hadoop集群
2.3.1 网络拓扑
2.3.2 定义集群拓扑
2.3.3 建立和安装Cluster
2.4 日志分析及几个小技巧
2.5 小结
3 Hadoop应用案例分析
3.1 Hadoop在Yahoo!的应用
3.2 Hadoop在eBay的应用
3.3 Hadoop在百度的应用
3.4 Hadoop在Facebook的应用
3.5 Hadoop平台上的海量数据排序
3.6 小结
4 MapReduce计算模型
4.1 为什么要用MapReduce
4.2 MapReduce计算模型
4.2.1 MapReduce Job
4.2.2 Hadoop中的Hello World程序
4.2.3 MapReduce的数据流和控制流
4.3 MapReduce任务的优化
4.4 Hadoop流
4.4.1 Hadoop流的工作原理
4.4.2 Hadoop流的命令
4.4.3 实战案例:添加Bash程序和Python程序到Hadoop流中
4.5 Hadoop Pipes
4.6 小结
5 开发MapReduce应用程序
5.1 系统参数的配置
5.2 配置开发环境
5.3 编写MapReduce程序
5.3.1 Map处理
5.3.2 Reduce处理
5.4 本地测试
5.5 运行MapReduce程序
5.5.1 打包
5.5.2 在本地模式下运行
5.5.3 在集群上运行
5.6 网络用户界面
5.6.1 JobTracker页面
5.6.2 工作页面
5.6.3 返回结果
5.6.4 任务页面
5.6.5 任务细节页面
5.7 性能调优
5.8 MapReduce工作流
5.8.1 将问题分解成MapReduce工作
5.8.2 运行相互依赖的工作
5.9 小结
6 MapReduce应用案例
6.1 单词计数
6.1.1 实例描述
6.1.2 设计思路
6.1.3 程序代码
6.1.4 代码解读
6.1.5 程序执行
6.1.6 代码结果
6.2 数据去重
6.2.1 实例描述
6.2.2 设计思路
6.2.3 程序代码
6.3 排序
6.3.1 实例描述
6.3.2 设计思路
6.3.3 程序代码
6.4 单表关联
6.4.1 实例描述
6.4.2 设计思路
6.4.3 程序代码
6.5 多表关联
6.5.1 实例描述
6.5.2 设计思路
6.5.3 程序代码
6.6 小结
7 MapReduce工作机制
7.1 MapReduce作业的执行流程
7.1.1 MapReduce任务的执行总流程
7.1.2 提交作业
7.1.3 初始化作业
7.1.4 分配任务
7.1.5 执行任务
7.1.6 更新任务执行进度和状态
7.1.7 完成作业
7.2 错误处理机制
7.2.1 硬件故障
7.2.2 任务失败
7.3 作业调度机制
7.4 shuffle和排序
7.4.1 map端
7.4.2 reduce端
7.4.3 shuffle过程的优化
7.5 任务执行
7.5.1 推测式执行
7.5.2 任务JVM重用
7.5.3 跳过坏记录
7.5.4 任务执行环境
7.6 小结
8 Hadoop I/O操作
8.1 I/O操作中的数据检查
8.2 数据的压缩
8.2.1 Hadoop对压缩工具的选择
8.2.2 压缩分割和输入分割
8.2.3 在MapReduce程序中使用压缩
8.3 数据的I/O中序列化操作
8.3.1 Writable类
8.3.2 实现自己的Hadoop数据类型
8.4 针对MapReduce的文件类
8.4.1 SequenceFile类
8.4.2 MapFile类
8.5 小结
9 HDFS详解
9.1 Hadoop的文件系统
9.2 HDFS简介
9.3 HDFS体系结构
9.3.1 HDFS的相关概念
9.3.2 HDFS的体系结构
9.4 HDFS的基本操作
9.4.1 HDFS的命令行操作
9.4.2 HDFS的Web界面
9.5 HDFS常用Java API详解
9.5.1 使用Hadoop URL读取数据
9.5.2 使用FileSystem API读取数据
9.5.3 创建目录
9.5.4 写数据
9.5.5 删除数据
9.5.6 文件系统查询
9.6 HDFS中的读写数据流
9.6.1 文件的读取
9.6.2 文件的写入
9.6.3 一致性模型
9.7 HDFS命令详解
9.7.1 通过distcp进行并行复制
9.7.2 HDFS的平衡
9.7.3 使用Hadoop归档文件
9.7.4 其他命令
9.8 小结
10 Hadoop的管理
10.1 HDFS文件结构
10.2 Hadoop的状态监视和管理工具
10.2.1 审计日志
10.2.2 监控日志
10.2.3 Metrics
10.2.4 Java管理扩展
10.2.5 Ganglia
10.2.6 Hadoop管理命令
10.3 Hadoop集群的维护
10.3.1 安全模式
10.3.2 Hadoop的备份
10.3.3 Hadoop的节点管理
10.3.4 系统升级
10.4 小结
11 Hive详解
11.1 Hive简介
11.1.1 Hive的数据存储
11.1.2 Hive的元数据存储
11.2 Hive的基本操作
11.2.1 在集群上安装Hive
11.2.2 配置Hive
11.3 Hive QL详解
11.3.1 数据定义(DDL)操作
11.3.2 数据操作(DML)
11.3.3 SQL操作
11.3.4 Hive QL的使用实例
11.4 Hive的网络(WebUI)接口
11.5 Hive的JDBC接口
11.6 Hive的优化
11.7 小结
12 HBase详解
12.1 HBase简介
12.2 HBase的基本操作
12.2.1 HBase的安装
12.2.2 运行HBase
12.2.3 HBase Shell
12.2.4 HBase配置
12.3 HBase体系结构
12.4 HBase数据模型
12.4.1 数据模型
12.4.2 概念视图
12.4.3 物理视图
12.5 HBase与RDBMS
12.6 HBase与HDFS
12.7 HBase客户端
12.8 Java API
12.9 HBase编程实例之MapReduce
12.10 模式设计
12.10.1 学生表
12.10.2 事件表
12.11 小结
13 Mahout详解
13.1 Mahout简介
13.2 Mahout的安装和配置
13.3 Mahout API简介
13.4 Mahout中的聚类和分类
13.4.1 什么是聚类和分类
13.4.2 Mahout中的数据表示
13.4.3 将文本转化成向量
13.4.4 Mahout中的聚类、分类算法
13.4.5 算法应用实例
13.5 Mahout应用:建立一个推荐引擎
13.5.1 推荐引擎简介
13.5.2 使用Taste构建一个简单的推荐引擎
13.5.3 简单分布式系统下基于产品的推荐系统简介
13.6 小结
14 Pig详解
14.1 Pig简介
14.2 Pig的安装和配置
14.2.1 Pig的安装条件
14.2.2 Pig的下载、安装和配置
14.2.3 Pig运行模式
14.3 Pig Latin语言
14.3.1 Pig Latin语言简介
14.3.2 Pig Latin的使用
14.3.3 Pig Latin的数据类型
14.3.4 Pig Latin关键字
14.4 用户定义函数
14.4.1 编写用户定义函数
14.4.2 使用用户定义函数
14.5 Pig实例
14.5.1 Local模式
14.5.2 MapReduce模式
14.6 Pig进阶
14.6.1 数据实例
14.6.2 Pig数据分析
14.7 小结
15 ZooKeeper详解
15.1 ZooKeeper简介
15.1.1 ZooKeeper的设计目标
15.1.2 数据模型和层次命名空间
15.1.3 ZooKeeper中的节点和临时节点
15.1.4 ZooKeeper的应用
15.2 ZooKeeper的安装和配置
15.2.1 在集群上安装ZooKeeper
15.2.2 配置ZooKeeper
15.2.3 运行ZooKeeper
15.3 ZooKeeper的简单操作
15.3.1 使用ZooKeeper命令的简单操作步骤
15.3.2 ZooKeeper API的简单使用
15.4 ZooKeeper的特性
15.4.1 ZooKeeper的数据模型
15.4.2 ZooKeeper会话及状态
15.4.3 ZooKeeper Watches
15.4.4 ZooKeeper ACL
15.4.5 ZooKeeper的一致性保证
15.5 ZooKeeper的Leader选举
15.6 ZooKeeper锁服务
15.6.1 ZooKeeper中的锁机制
15.6.2 ZooKeeper提供的一个写锁的实现
15.7 使用ZooKeeper创建应用程序
15.8 小结
16 Avro详解
16.1 Avro简介
16.1.1 模式声明
16.1.2 数据序列化
16.1.3 数据排列顺序
16.1.4 对象容器文件
16.1.5 协议声明
16.1.6 协议传输格式
16.1.7 模式解析
16.2 Avro的C/C++实现
16.3 Avro的Java实现
16.4 GenAvro(Avro IDL)语言
16.5 Avro SASL概述
16.6 小结
17 Chukwa详解
17.1 Chukwa简介
17.2 Chukwa架构
17.2.1 客户端(Agent)及其数据模型
17.2.2 收集器(Collector)和分离解析器(Demux)
17.2.3 HICC
17.3 Chukwa的可靠性
17.4 Chukwa集群搭建
17.4.1 基本配置要求
17.4.2 安装Chukwa
17.5 Chukwa数据流的处理
17.6 Chukwa与其他监控系统比较
17.7 小结
18 Hadoop的常用插件与开发
18.1 Hadoop Studio简介和使用
18.1.1 Hadoop Studio的安装和配置
18.1.2 Hadoop Studio的使用举例
18.2 Hadoop Eclipse简介和使用
18.2.1 Hadoop Eclipse安装和配置
18.2.2 Hadoop Eclipse的使用举例
18.2.3 Hadoop Eclipse插件开发
18.3 Hadoop Streaming简介和使用
18.3.1 Hadoop Streaming的使用举例
18.3.2 使用Hadoop Streaming时常见的问题
18.4 Hadoop Libhdfs简介和使用
18.4.1 Hadoop Libhdfs安装和配置
18.4.2 Hadoop Libhdfs API简介
18.4.3 Hadoop Libhdfs的使用举例
18.5 小结
附录A 云计算在线检测平台
A.1 平台介绍
A.2 结构和功能
A.2.1 前台用户接口的结构和功能
A.2.2 后台程序运行的结构和功能
A.3 检测流程
A.4 使用
A.4.1 功能使用
A.4.2 返回结果介绍
A.4.3 使用注意事项
A.5 小结
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b423ae4b02bc3ad6a28af.png)
思维导图在线编辑链接: