目 录
|章| 大数据组件概述t1 1.1 Google大数据组件t2 1.2 Apache大数据组件t6 1.2.1 Hadoop核心组件t7 1.2.2 基于MR的数据分析组件t10 1.2.3 数据库组件t16 1.2.4 BSP组件t19 1.2.5 基于YARN框架组件t20 1.2.6 基于YARN的编程类库组件t24 1.2.7 搜索引擎组件t25 1.2.8 工作流组件t26 1.2.9 数据流组件t27 1.2.10 序列化和持久化组件t29 1.2.11 调试工具t30 1.2.12 安全性组件t31 1.2.13 兼容性组件t33 1.2.14 集群部署与管理组件t33 习题t34 参考文献t35 |第2章| 大数据集群t39 2.1 大数据集群简介t40 2.2 大数据集群bigCstort45 2.3 我的大数据集群littleCstort48 2.4 小结t52 习题t52 参考文献t53 |第3章| 集群管理工具Ambarit55 3.1 Ambari简介t56 3.2 使用Ambari部署HDPt59 3.3 使用Ambari搭建littleCstort62 3.3.1 相关约定t62 3.3.2 制定部署规划t63 3.3.3 搭建prelittleCstort64 3.3.4 本地建仓t72 3.3.5 部署AmbariServert77 3.3.6 搭建littleCstort83 3.3.7 小结t105 3.4 使用Ambari管理littleCstort110 3.5 小结t111 习题t111 参考文献t111 |第4章| 分布式文件系统HDFSt113 4.1 分布式存储引例t114 4.1.1 问题描述t114 4.1.2 常规解决方案t115 4.1.3 分布式解决方案t117 4.2 HDFS简介t124 4.2.1 HDFS逻辑架构t124 4.2.2 HDFS物理拓扑t129 4.2.3 HDFS部署t133 4.2.4 HDFS其他概念t135 4.3 HDFS接口t138 4.4 实战HDFS Shellt140 4.4.1 HDFS文件级命令集t141 4.4.2 HDFS系统级命令集t143 4.5 实战WebHDFSt149 4.5.1 WebHDFS简介t149 4.5.2 WebHDFS示例t151 4.6 实战HDFS JAVA APIt156 4.6.1 搭建开发环境t156 4.6.2 常规操作示例t158 4.7 实战HDFS大项目:用HDFS存储海量视频数据t163 4.7.1 应用场景t163 4.7.2 设计实现t164 习题t166 参考文献t166
|第5章| 分布式资源管理器YARNt169 5.1 分布式资源管理器引例t170 5.1.1 分布式资源管理器简介t170 5.1.2 分布式资源管理器架构t173 5.2 YARN简介t177 5.2.1 基础概念t177 5.2.2 物理拓扑t179 5.2.3 体系架构t180 5.2.4 集群部署t190 5.3 YARN接口t192 5.4 实战YARN Shellt194 5.4.1 系统级命令t195 5.4.2 程序级命令t197 5.4.3 其他辅助命令t199 5.5 实战YARN编程t199 5.5.1 常见并行化范式t199 5.5.2 YARN编程步骤t205 5.6 实战YARN编程之DistributedShellt213 5.6.1 DistributedShell简介t213 5.6.2 编写DistributedShellt214 5.7 实战YARN编程之三大范式t221 5.7.1 DistributedShellt222 5.7.2 MapReducet222 5.7.3 Girapht223 习题t224 参考文献t224 |第6章| 分布式并行处理MapReducet225 6.1 并行化范式M-S-R引例t226 6.1.1 问题描述t226 6.1.2 常规解决方案t227 6.1.3 分布式解决方案t228 6.1.4 小结t234 6.2 MapReduce简介t234 6.2.1 基本概念t235 6.2.2 编程模型t237 6.2.3 集群部署t239 6.2.4 体系架构t241 6.2.5 执行过程t245 6.3 MapReduce接口t247 6.4 实战MapReduce Shellt250 6.5 实战MapReduce编程t253 6.6 实战MapReduce编程之WordCountt256 6.6.1 WordCount代码分析t256 6.6.2 WordCount处理过程t260 6.7 实战MapReduce编程之SecondarySortt261 6.8 实战MapReduce编程之倒排索引t265 6.8.1 简介t265 6.8.2 分析与设计t266 6.8.3 倒排索引完整源码t269 6.9 实战MapReduce之性能优化t271 习题t280 参考文献t280 |第7章| 分布式锁服务ZooKeepert281 7.1 ZooKeeper简介t282 7.1.1 ZooKeeper应用场景t282 7.1.2 ZooKeeper体系架构t285 7.1.3 ZooKeeper服务模型t287 7.1.4 ZooKeeper部署t289 7.2 ZooKeeper接口t292 7.2.1 接口汇总t292 7.2.2 实战ZooKeeper Shellt292 7.3 实战ZooKeeper编程t294 7.4 实战ZooKeeper之进程通信t296 7.5 实战ZooKeeper之进程调度系统t297 7.5.1 设计方案t297 7.5.2 设计实现t297 7.6 实战ZooKeeper之实现NameNode自动切换t303 7.6.1 设计思想t304 7.6.2 详细设计t304 7.6.3 编码t305 7.6.4 实战总结t310 习题t311 参考文献t311 |第8章| 分布式数据库HBaset313 8.1 HBase简介t314 8.1.1 体系架构t314 8.1.2 数据模型t320 8.1.3 集群部署t321 8.2 HBase接口t326 8.3 实战HBase Shellt327 8.4 实战HBase APIt329 8.5 实战HBase之综例t330 8.6 实战HBase之使用MapReduce构建索引t332 8.6.1 索引表蓝图t332 8.6.2 HBase和MapReducet333 8.6.3 实现索引t334 习题t336 参考文献t337 |第9章| 内存型计算框架Sparkt339 9.1 Spark简介t340 9.1.1 基础概念t340 9.1.2 体系架构t346 9.1.3 集群部署t358 9.1.4 计算模型t366 9.1.5 工作机制t374 9.1.6 其他特性t375 9.2 Spark接口t377 9.3 实战Spark Shellt379 9.3.1 集群管理t379 9.3.2 任务管理t381 9.4 实战Spark编程之RDDt383 9.4.1 RDD属性t383 9.4.2 并行化证明RDD、调试RDDt386 9.4.3 RDD操作t389 9.5 实战Spark之WordCountt396 9.6 实战Spark之MLLibt397 习题t398 参考文献t398
|0章| 数据流实时处理系统Stormt399 10.1 Storm简介t400 10.1.1 与Hadoop的关系t400 10.1.2 基础概念t402 10.1.3 体系架构t408 10.1.4 集群部署t412 10.1.5 计算模型t421 10.2 Storm接口t450 10.3 实战Storm Shellt452 10.4 实战Storm API之RollingTopWordst455 习题t457 参考文献t458 |1章| 数据仓库工具Hivet459 11.1 Hive简介t460 11.1.1 工作原理t460 11.1.2 体系架构t461 11.1.3 计算模型t462 11.1.4 集群部署t463 11.2 Hive接口t467 11.2.1 接口汇总t467 11.2.2 实战Hive Webt467 11.3 实战Hive Shellt468 11.3.1 DDL Operationst468 11.3.2 DML Operationst469 11.3.3 SQL Operationst470 11.4 实战Hive之复杂语句t471 11.5 实战Hive之综合示例t473 11.6 实战Hive API接口t474 11.6.1 UDF编程示例t474 11.6.2 UDAF编程示例t475 习题t477 参考文献t477 |2章| 其他常见大数据组件t479 12.1 Pigt480 12.1.1 Pig简介t480 12.1.2 实战Pigt483 12.2 Ooziet483 12.2.1 Oozie简介t483 12.2.2 实战Ooziet485 12.3 Flumet487 12.3.1 Flume简介t487 12.3.2 Flume入门t489 12.4 Mahoutt492 12.4.1 Mahout简介t492 12.4.2 Mahout入门t492 习题t494 参考文献t494 |附录A| 手工部署Hadoop2.0t495 一、部署综述t496 二、部署步骤t500 |