HBase实战

978-7-115-32446-7
作者: 【美】Nick DimidukAmandeep Khurana
译者: 谢磊
编辑: 杨海玲

图书目录:

目 录

第 一部分 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设计、构建和运行应用程序所需的所有知识和实用技术。全书共分为4个部分。前两个部分介绍首先介绍分布式系统和大规模数据处理的基础知识,讲解如何使用HBase;第三部分通过真正的应用程序和代码示例,结合足够的理论,探索HBase的一些实用技术;第四部分讲解如何把原型开发系统升级为羽翼丰满的生产系统。书中囊括了使用HBase设计、构建和运行应用程序所需的所有知识。

图书摘要

相关图书

Java数据科学指南
Java数据科学指南
大数据开发者权威教程:大数据技术与编程基础
大数据开发者权威教程:大数据技术与编程基础
Hadoop虚拟化
Hadoop虚拟化
大数据开发者权威教程:NoSQL、Hadoop组件及大数据实施
大数据开发者权威教程:NoSQL、Hadoop组件及大数据实施
Julia数据科学应用
Julia数据科学应用
R语言编程指南
R语言编程指南

相关文章

相关课程