HBase实战.pdf

HBase实战.pdf
 

书籍描述

编辑推荐
Apache HBase项目管理委员会主席 Michael Stack
中国云计算专家咨询委员会副主任/秘书长 刘鹏教授
北京天地超云科技有限公司首席执行官 王成江
51CTO.com 执行总编 马沛
《网络世界》&网界网 总编辑 高辉
ChinaHadoop技术社区
联合推荐!

1. 《HBase实战》是一个完整手册,更是一本HBase项目实战指导,是作者多年使用HBase实践经验的升华。《HBase实战》更是最实用的HBase技术书,书中含有大量真实的应用和代码示例。
2. 本书两位作者Nick Dimiduk和Amandeep Khurana都是长期的HBase实践者,非常有真材实料。
3. 本书译者谢磊是ChinaHadoop技术社区发起人,资深IT人士,从事软件行业十多年,现在从事企业级大数据解决方案的工作,致力于大数据技术的普及和推广。

媒体推荐
随着国内对云计算的研究和应用逐步深入,亟需通俗易懂、由浅入深、实践性强的专项云计算技术书籍。《HBase实战》正好能够满足这种迫切的需求,我大力推荐!
——刘鹏 教授
中国云计算专家咨询委员会副主任/秘书长
中国电子学会云计算专家委员会云存储组长


在政府、金融、电信等行业里,越来越多的机构和企业在Hadoop和HBase上构建大数据平台。大数据不只是概念,还需要落地。本书从实践出发,帮助大家快速实现大数据的价值。
——王成江
北京天地超云科技有限公司首席执行官


HBase方面的书很多,但真正注重实战的却很少。这本书对HBase深入浅出的介绍,为HBase的实践者提供知其然且知其所以然的思考。这对于不论是入门新手还是领域内的资深人士,都具有实际的指导意义,并且为你的思路、眼界和方法都提供了拓展之道,选择一个合适的时间,开始系统地阅读和分享吧!
——马沛
51CTO.com 执行总编


大数据技术迅猛发展,以Hadoop、HBase为代表的一批大数据通用技术和开源项目展现出了强大的生命力,也引起了各方人士的广泛关注。作为NoSQL数据库的杰出代表,HBase正在FaceBook、Twitter、新浪、淘宝等企业的核心系统中发挥重要作用。《HBase实战》一书的出版正当其时,书中所介绍的先进技术理念和实战指南,能够帮助企业用户搭建自己的大数据平台,开启大数据时代的探索之旅。
——高辉
《网络世界》&网界网 总编辑


对于希望快速了解HBase,或者打算基于HBase搭建应用系统的技术人员,《HBase实战》是一本不容错过的经典入门指南。

——ChinaHadoop技术社区

作者简介
作者介绍

Nick Dimiduk 数据架构师。他2008年开始使用HBase,当时解决了夜间ETL数据作业需要20多个小时才可以完成的问题。之后他把Hadoop和HBase应用到了各种应用场景中,如社交媒体、社交游戏、点击流分析、气候预测和地理信息系统等。Nick还帮助建立了西雅图Scalability Meetup,以支持创业。现在他把主要精力投入在分布式、可扩展的科学数据在线访问系统上。

Amandeep Khurana Cloudera公司方案架构师。在这家公司,他帮助用户使用Hadoop和HBase,提供从规划到构建和部署的全程服务。加入Cloudera之前,Amandeep在Amazon的Elastic MapReduce团队工作,提供Amazon Web Services云服务。Amandeep的专业背景在于大规模分布式系统和信息管理。

译者介绍

谢磊 ChinaHadoop技术社区发起人。毕业于清华大学电机工程系,获工学硕士学位。资深IT人士,从事软件行业十多年,先后服务于HP、BMC Software、北京小象科技等多家公司,历任HP 软件部和咨询事业部高级顾问、BMC Software中国区技术总监、北京小象科技有限公司执行董事。对企业级数据中心的建设、运维、管理方面有着深刻的理解。现在从事企业级大数据解决方案的工作,致力于大数据技术的普及和推广。

目录
目 录

第一部分 HBase基础

第1章 HBase介绍 3
1.1 数据管理系统:速成 4
1.1.1 你好,大数据 5
1.1.2 数据创新 6
1.1.3 HBase的崛起 7
1.2 HBase使用场景和成功案例 8
1.2.1 典型互联网搜索问题:BigTable发明的原因 8
1.2.2 抓取增量数据 9
1.2.3 内容服务 12
1.2.4 信息交换 13
1.3 你好HBase 14
1.3.1 快速安装 14
1.3.2 HBase Shell命令行交互 16
1.3.3 存储数据 17
1.4 小结 18

第2章 入门 20
2.1 从头开始 21
2.1.1 创建表 21
2.1.2 检查表模式 22
2.1.3 建立连接 22
2.1.4 连接管理 23
2.2 数据操作 23
2.2.1 存储数据 24
2.2.2 修改数据 25
2.2.3 工作机制:HBase写路径 25
2.2.4 读数据 26
2.2.5 工作机制:HBase读路径 27
2.2.6 删除数据 28
2.2.7 合并:HBase的后台工作 28
2.2.8 有时间版本的数据 29
2.2.9 数据模型概括 30
2.3 数据坐标 31
2.4 小结 33
2.5 数据模型 37
2.5.1 逻辑模型:有序映射的映射集合 37
2.5.2 物理模型:面向列族 39
2.6 表扫描 40
2.6.1 设计用于扫描的表 41
2.6.2 执行扫描 42
2.6.3 扫描器缓存 43
2.6.4 使用过滤器 43
2.7 原子操作 44
2.8 ACID语义 45
2.9 小结 46

第3章 分布式的HBase、HDFS和MapReduce 48
3.1 一个MapReduce的例子 49
3.1.1 延迟与吞吐量 49
3.1.2 串行计算吞吐量有限 50
3.1.3 并行计算提高吞吐量 50
3.1.4 MapReduce:用布式计算最大化吞吐量 51
3.2 Hadoop MapReduce概览 52
3.2.1 MapReduce数据流介绍 53
3.2.2 MapReduce内部机制 57
3.3 分布式模式的HBase 58
3.3.1 切分和分配大表 58
3.3.2 如何找到region 61
3.3.3 如何找到–ROOT–表 62
3.4 HBase和MapReduce 64
3.4.1 使用HBase作为数据源 64
3.4.2 使用HBase接收数据 66
3.4.3 使用HBase共享资源 67
3.5 信息汇总 71
3.5.1 编写MapReduce应用 72
3.5.2 运行MapReduce应用 73
3.6 大规模条件下的可用性和可靠性 74
3.6.1 HDFS作为底层存储 75
3.7 小结 77

第二部分 高级概念

第4章 HBase表设计 81
4.1 如何开始模式设计 82
4.1.1 问题建模 82
4.1.2 需求定义:提前多做准备工作总是有好处的 84
4.1.3 均衡分布数据和负载的建模方法 87
4.1.4 目标数据访问 93
4.2 反规范化是HBase世界里的词语 95
4.3 相同表里的混杂数据 97
4.4 行键设计策略 98
4.5 IO考虑 99
4.5.1 为写优化 99
4.5.2 为读优化 101
4.5.3 基数和行键结构 101
4.6 从关系型到非关系型 102
4.6.1 一些基本概念 103
4.6.2 嵌套实体 105
4.6.3 没有映射到的一些东西 106
4.7 列族高级配置 107
4.7.1 可配置的数据块大小 107
4.7.2 数据块缓存 108
4.7.3 激进缓存 108
4.7.4 布隆过滤器 108
4.7.5 生存时间(TTL) 109
4.7.6 压缩 110
4.7.7 单元时间版本 110
4.8 过滤数据 111
4.8.1 实现一个过滤器 113
4.8.2 预装过滤器 115
4.9 小结 118

第5章 使用协处理器扩展HBase 120
5.1 两种协处理器 121
5.1.1 Observer协处理器 121
5.1.2 endpoint协处理器 123
5.2 实现一个observer 124
5.2.1 修改模式 124
5.2.2 从HBase开始 126
5.2.3 安装observer 128
5.2.4 其他安装选项 130
5.3 实现一个endpoint 131
5.3.1 为endpoint定义接口 131
5.3.2 实现endpoint服务器 132
5.3.3 实现endpoint客户端 133
5.3.4 部署endpoint服务器 135
5.3.5 试运行 136
5.4 小结 136

第6章 其他的HBase客户端选择 137
6.1 在UNIX里使用HBase Shell脚本 138
6.1.1 准备HBase Shell 138
6.1.2 使用UNIX Shell脚本创建表模式 139
6.2 使用JRuby进行HBase Shell编程 141
6.2.1 准备HBase Shell 141
6.2.2 访问TwitBase的users表 142
6.3 通过REST访问HBase 144
6.3.1 启动HBase REST服务 145
6.3.2 访问TwitBase的users表 146
6.4 通过Python使用HBase Thrift网关 149
6.4.1 生成Python语言的HBase Thrift客户端库 151
6.4.2 启动HBase Thrift服务 152
6.4.3 扫描TwitBaseuser表 153
6.5 asynchbase:另外一种HBase Java客户端 156
6.5.1 创建一个asynchbase项目 157
6.5.2 改变TwitBase的密码策略 159
6.5.3 试运行 171
6.6 小结 172

第三部分 应用系统实例

第7章 通过实例学习HBase:OpenTSDB 175
7.1 OpenTSDB概述 176
7.1.1 挑战:基础设施监控 177
7.1.2 数据:时间序列 178
7.1.3 存储:HBase 179
7.2 设计一个HBase应用系统 180
7.2.1 模式设计 180
7.2.2 应用架构 184
7.3 实现一个HBase应用系统 187
7.3.1 存储数据 187
7.3.2 查询数据 192
7.4 小结 196

第8章 在HBase上查询地理信息系统 197
8.1 运用地理数据 197
8.2 设计一个空间索引 199
8.2.1 从复合行键开始 201
8.2.2 介绍geohash 202
8.2.3 理解geohash 205
8.2.4 在有空间感知特性的行键里使用geohash 206
8.3 实现最近邻居查询 210
8.4 把计算工作推往服务器端 215
8.4.1 基于查询多边形创建一次geohash扫描 217
8.4.2 区域内查询第一幕:客户端 222
8.4.3 区域内查询第二幕:WithinFilter 224
8.5 小结 228

第四部分 让HBase运转起来

第9章 部署HBase 233
9.1 规划集群 234
9.1.1 原型集群 235
9.1.2 小型生产集群(10~20台服务器) 235
9.1.3 中型生产集群(50台以下服务器) 236
9.1.4 大型生产集群(超过50台服务器) 237
9.1.5 Hadoop Master节点 237
9.1.6 HBase Master 238
9.1.7 Hadoop DataNode和HBase RegionServer 238
9.1.8 ZooKeeper 239
9.1.9 采用云服务怎么样? 240
9.2 部署软件 242
9.2.1 Whirr:在云端部署 242
9.3 发行版本 244
9.3.1 使用原生Apache发行版本 244
9.3.2 使用Cloudera的CDH发行版本 245
9.4 配置 246
9.4.1 HBase配置 246
9.4.2 与HBase有关的Hadoop配置参数 252
9.4.3 操作系统配置 253
9.5 管理守护进程 254
9.6 小结 255

第10章 运维 256
10.1 监控你的集群 257
10.1.1 HBase如何输出监控指标 257
10.1.2 收集监控指标和图形展示 258
10.1.3 HBase输出的监控指标 260
10.1.4 应用端监控 264
10.2 HBase集群的性能 265
10.2.1 性能测试 265
10.2.2 什么影响了HBase的性能 268
10.2.3 优化支撑系统 269
10.2.4 优化HBase 270
10.3 集群管理 274
10.3.1 启动和停止HBase 274
10.3.2 优雅停止和让节点退役 275
10.3.3 增加节点 276
10.3.4 滚动重启和升级 276
10.3.5 bin/hbase和HbaseShell 277
10.3.6 维护一致性——hbck 283
10.3.7 查看HFile和HLog 286
10.3.8 预先拆分表 288
10.4 备份和复制 290
10.4.1 集群间复制 290
10.4.2 使用MapReduce作业进行备份 294
10.4.3 备份根目录 298
10.5 小结 299

附录A 探索HBase系统 300
附录B 更多关于HDFS的工作原理 307

内容简介
  HBase是一种NoSQL存储系统,专门设计用来快速随机读写大规模数据。HBase运行在普通商用服务器上,可以平滑扩展,以支持从中等规模到数十亿行、数百万列的数据集。
  《HBase实战》是一本基于经验提炼而成的指南,它教给读者如何运用HBase设计、搭建及运行大数据应用系统。全书共分为4个部分。前两个部分分别介绍了分布式系统和大规模数据处理的发展历史,讲解HBase的基本原理模式设计以及如何使用HBase的高级特性;第三部分通过真实的应用和代码示例以及支持这些实践技巧的理论知识,进一步探索HBase的一些实用技术;第四部分讲解如何把原型开发系统升级为羽翼丰满的生产系统。
  《HBase实战》适合所有对云计算、大数据处理技术和NoSQL数据库感兴趣的技术人员阅读,尤其适合对Hadoop及HBase感兴趣的技术人员参考。阅读《HBase实战》不要求之前具备HBase、Hadoop或者MapReduce方面的知识。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多