《实战hadoop》
第1 章 神奇的大象——hadoop
1.1 初识神象 2
1.2 hadoop 初体验 4
1.2.1 了解hadoop 的构架 4
1.2.2 查看hadoop 活动 7
1.3 hadoop 族群 10
1.4 hadoop 安装 11
1.4.1 在linux 系统中安装hadoop 11
1.4.2 在windows 系统中安装hadoop 21
1.4.3 站在象背上说“hello” 29
1.4.4 eclipse 下的hadoop 应用开发 30
参考文献 34
第2 章 hdfs——不怕故障的海量存储
2.1 开源的gfs——hdfs 36
2.1.1 设计前提与目标 36
2.1.2 hdfs 体系结构 37
2.1.3 保障hdfs 可靠性措施 39
2.2 hdfs 常用操作 42
2.2.1 hdfs 下的文件操作 42
.2.2.2 管理与更新 45
2.3 hdfs api 之旅 48
2.4 实战:用hdfs 存储海量视频数据 55
2.4.1 应用场景 55
2.4.2 设计实现 55
参考文献 58
第3 章 分久必合——mapreduce
3.1 mapreduce 基础 60
3.1.1 mapreduce 编程模型 60
3.1.2 mapreduce 的集群行为 62
3.2 样例分析:单词计数 64
3.2.1 wordcount 源码分析 64
3.2.2 wordcount 处理过程 67
3.3 mapreduce,你够了解吗 69
3.3.1 没有map、reduce 的mapreduce 69
3.3.2 多少个reducers 最佳 72
3.4 实战:倒排索引 74
3.4.1 倒排索引简介 74
3.4.2 分析与设计 76
3.4.3 倒排索引完整源码 79
参考文献 83
第4 章 一张无限大的表——hbase
4.1 hbase 简介 85
4.1.1 逻辑模型 85
4.1.2 物理模型 86
4.1.3 region 服务器 87
4.1.4 主服务器 89
4.1.5 元数据表 89
4.2 hbase 入门 91
4.2.1 hbase 的安装配置 91
4.2.2 hbase 用户界面 97
实战hadoop —— 开启通向云计算的捷径
4.3 hbase 操作演练 100
4.3.1 基本shell 操作 100
4.3.2 基本api 使用 103
4.4 实战:使用mapreduce 构建hbase 索引 105
4.4.1 索引表蓝图 105
4.4.2 hbase 和mapreduce 107
4.4.3 实现索引 108
参考文献 112
第5 章 更上一层楼——mapreduce 进阶
5.1 简介 114
5.2 复合键值对的使用 115
5.2.1 把小的键值对合并成大的键值对 115
5.2.2 巧用复合键让系统完成排序 117
5.3 用户定制数据类型 123
5.3.1 hadoop 内置的数据类型 123
5.3.2 用户自定义数据类型的实现 124
5.4 用户定制输入/输出格式 126
5.4.1 hadoop 内置的数据输入格式和recordreader 126
5.4.2 用户定制数据输入格式与recordreader 127
5.4.3 hadoop 内置的数据输出格式与recordwriter 133
5.4.4 用户定制数据输出格式与recordwriter 134
5.4.5 通过定制数据输出格式实现多集合文件输出 134
5.5 用户定制partitioner 和combiner 137
5.5.1 用户定制partitioner 137
5.5.2 用户定制combiner 139
5.6 组合式mapreduce 计算作业 141
5.6.1 迭代mapreduce 计算任务 141
5.6.2 顺序组合式mapreduce 作业的执行 142
5.6.3 具有复杂依赖关系的组合式mapreduce 作业的执行 144
5.6.4 mapreduce 前处理和后处理步骤的链式执行 145
5.7 多数据源的连接 148
5.7.1 基本问题数据示例 149
5.7.2 用datajoin 类实现reduce 端连接 150
5.7.3 用全局文件复制方法实现map 端连接 158
5.7.4 带map 端过滤的reduce 端连接 162
5.7.5 多数据源连接解决方法的限制 162
5.8 全局参数/数据文件的传递与使用 163
5.8.1 全局作业参数的传递 163
5.8.2 查询全局mapreduce 作业属性 166
5.8.3 全局数据文件的传递 167
5.9 关系数据库的连接与访问 169
5.9.1 从数据库中输入数据 169
5.9.2 向数据库中输出计算结果 170
参考文献 172
第6 章 hive——飞进数据仓库的小蜜蜂
6.1 hive 的组成 174
6.2 搭建蜂房——hive 安装 176
6.3 hive 的服务 182
6.3.1 hive shell 182
6.3.2 jdbc/odbc 支持 183
6.3.3 thrift 服务 184
6.3.4 web 接口 185
6.3.5 元数据服务 186
6.4 hiveql 的使用 187
6.4.1 hiveql 的数据类型 187
6.4.2 hiveql 常用操作 188
6.5 hive 示例 196
6.5.1 udf 编程示例 196
实战hadoop —— 开启通向云计算的捷径
6.5.2 udaf 编程示例 198
6.6 实战:基于hive 的hadoop 日志分析 200
参考文献 209
第7 章 pig——一头什么都能吃的猪
7.1 pig 的基本框架 211
7.2 pig 的安装 212
7.2.1 开始安装pig 212
7.2.2 验证安装 213
7.3 pig 的使用 214
7.3.1 pig 的mapreduce 模式 214
7.3.2 使用pig 216
7.3.3 pig 的调试 219
7.4 pig latin 编程语言 224
7.4.1 数据模型 224
7.4.2 数据类型 225
7.4.3 运算符 226
7.4.4 常用操作 228
7.4.5 用户自定义函数 231
7.5 实战:基于pig 的通话记录查询 231
7.5.1 应用场景 231
7.5.2 设计实现 232
参考文献 238
第8 章 facebook 的女神——cassandra
8.1 洞察cassandra 的全貌 240
8.1.1 目标及特点 240
8.1.2 体系结构 241
8.1.3 存储机制 243
8.1.4 数据操作过程 244
8.2 让cassandra 飞 247
8.2.1 windows 7 下单机安装 247
8.2.2 linux 下分布式安装 249
8.3 cassandra 操作示例 253
8.3.1 客户端命令代码跟踪 253
8.3.2 增删cassandra 节点 262
8.3.3 jconsole 监控cassandra 263
8.4 cassandra 与mapreduce 结合 266
8.4.1 需求分析 266
8.4.2 编码流程分析 267
8.4.3 mapreduce 的核心代码 268
参考文献 269
第9 章 chukwa——收集数据的大乌龟
9.1 初识chukwa 271
9.1.1 为什么需要chukwa 271
9.1.2 什么是chukwa 272
9.2 chukwa 架构与设计 274
9.2.1 代理与适配器 276
9.2.2 元数据 277
9.2.3 收集器 278
9.2.4 mapreduce 作业 279
9.2.5 hicc 280
9.2.6 数据接口与支持 280
9.3 chukwa 安装与配置 281
9.3.1 chukwa 安装 281
9.3.2 源节点代理配置 284
9.3.3 收集器 288
9.3.4 demux 作业与hicc 配置 289
9.4 chukwa 小试 291
实战hadoop —— 开启通向云计算的捷径
9.4.1 数据生成 291
9.4.2 数据收集 292
9.4.3 数据处理 292
9.4.4 数据析取 293
9.4.5 数据稀释 294
9.4.6 数据显示 294
参考文献 295
第10 章 一统天下——zookeeper
10.1 zookeeper 是个谜 297
10.1.1 zookeeper 工作原理 298
10.1.2 zookeeper 的特性 301
10.2 zookeeper 安装和编程 303
10.2.1 zookeeper 的安装和配置 303
10.2.2 zookeeper 的编程实现 306
10.3 zookeeper 演练:进程调度系统 308
10.3.1 设计方案 308
10.3.2 设计实现 309
10.4 实战演练:zookeeper 实现namenode 自动切换 318
10.4.1 设计思想 319
10.4.2 详细设计 319
10.4.3 编码 321
10.4.4 实战总结 329
参考文献 329
第11 章 综合实战1——打造一个搜索引擎
11.1 系统工作原理 331
11.2 网页搜集与信息提取 333
11.2.1 网页搜集 334
11.2.2 网页信息的提取与存储 337
11.3 基于mapreduce 的预处理 338
11.3.1 元数据过滤 339
11.3.2 生成倒排文件 341
11.3.3 建立二级索引 353
11.3.4 小节 357
11.4 建立web 信息查询服务 358
11.4.1 建立前台查询接口 358
11.4.2 后台信息查询与合并 359
11.4.3 返回显示结果 360
11.5 系统优化 361
11.5.1 存储方面的优化 361
11.5.2 计算方面的优化 362
11.6 本章总结 363
参考文献 364
第12 章 综合实战2——生物信息学应用
12.1 背景 366
12.2 总体框架 368
12.3 系统实现 370
12.3.1 序列数据库的切分和存储 370
12.3.2 构造单词列表和扫描器 375
12.3.3 map:扫描和扩展 376
12.3.4 主控程序 378
12.4 扩展性能测试 381
12.5 本章总结 382
参考文献 383
第13 章 综合实战3——移动通信信令监测与查询
13.1 分析与设计 385
13.1.1 cdr 数据文件的检测与索引创建任务调度 388
13.1.2 从hdfs 读取数据并创建索引 389
实战hadoop —— 开启通向云计算的捷径
13.1.3 查询cdr 信息 390
13.2 实现代码 391
13.2.1 cdr 文件检测和索引创建任务调度程序 392
13.2.2 读取cdr 数据和索引创建处理 397
13.2.3 cdr 查询 402
13.3 本章总结 407
参考文献 407
第14 章 高枕无忧——hadoop 容错
14.1 hadoop 的可靠性 409
14.1.1 hdfs 中namenode 单点问题 409
14.1.2 hdfs 数据块副本机制 410
14.1.3 hdfs 心跳机制 411
14.1.4 hdfs 负载均衡 412
14.1.5 mapreduce 容错 413
14.2 hadoop 的secondarynamenode 机制 414
14.2.1 磁盘镜像与日志文件 414
14.2.2 secondarynamenode 更新镜像的流程 414
14.3 avatar 机制 418
14.3.1 系统架构 419
14.3.2 avatar 元数据同步机制 420
14.3.3 故障切换过程 423
14.3.4 avatar 运行流程 426
14.3.5 avatar 故障切换流程 431
14.4 avatar 实战 436
14.4.1 实验环境 436
14.4.2 编译avatar 437
14.4.3 avatar 安装和配置 440
14.4.4 avatar 启动运行与宕机切换 452
参考文献 456
· · · · · · (
收起)