作者:
[美]
Lars George
出版社: 东南大学出版社
原作名: HBase: The Definitive Guide
译者: 代志远 / 蒋杰 / 刘佳
出版年: 2012-4
页数: 522
定价: 72.00元
装帧: 平装
ISBN: 9787564133924
出版社: 东南大学出版社
原作名: HBase: The Definitive Guide
译者: 代志远 / 蒋杰 / 刘佳
出版年: 2012-4
页数: 522
定价: 72.00元
装帧: 平装
ISBN: 9787564133924
内容简介 · · · · · ·
《HBase权威指南》探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的网关服务器来访问HBase;了解HBase架构的细节,包括存储格式、预写日志、后台进程等;在HBase中集成MapReduce框架;了解如何调节集群、设计模式、拷贝表、导入批量数据和删除节点等。
《HBase权威指南》适合使用HBase进行数据库开发的高级数据库研发人员阅读。
作者简介 · · · · · ·
Lars George,HBase项目组成员,他是cloudera的解决方案架构师,提供了关于Hadoop和HBase的技术支持、咨询服务和培训工作。他曾经在多个不同的Hadoop用户组会议发言,并且在如布鲁塞尔的自由及开源软件开发者欧洲会议(FOSDEM)这样的大型会议中发言。
目录 · · · · · ·
第1章 简介 1
1.1 海量数据的黎明 1
1.2 关系数据库系统的问题 5
1.3 非关系型数据库系统Not-Only-SQL(简称NoSQL) 7
1.3.1 维度 9
1.3.2 可扩展性 12
· · · · · · (更多)
1.1 海量数据的黎明 1
1.2 关系数据库系统的问题 5
1.3 非关系型数据库系统Not-Only-SQL(简称NoSQL) 7
1.3.1 维度 9
1.3.2 可扩展性 12
· · · · · · (更多)
第1章 简介 1
1.1 海量数据的黎明 1
1.2 关系数据库系统的问题 5
1.3 非关系型数据库系统Not-Only-SQL(简称NoSQL) 7
1.3.1 维度 9
1.3.2 可扩展性 12
1.3.3 数据库的范式化和反范式化 12
1.4 结构 15
1.4.1 背景 15
1.4.2 表、行、列和单元格 16
1.4.3 自动分区 20
1.4.4 存储API 21
1.4.5 实现 22
1.4.6 小结 25
1.5 HBase:Hadoop数据库 25
1.5.1 历史 26
1.5.2 命名 27
1.5.3 小结 27
第2章 安装 28
2.1 快速启动指南 28
2.2 必备条件 31
2.2.1 硬件 31
2.2.2 软件 37
2.3 HBase使用的文件系统 47
2.3.1 本地模式 48
2.3.2 HDFS 49
2.3.3 S3 49
2.3.4 其他文件系统 50
2.4 安装选项 50
2.4.1 Apache二进制发布包 50
2.4.2 编译源码 52
2.5 运行模式 53
2.5.1 单机模式 53
2.5.2 分布式模式 53
2.6 配置 57
2.6.1 hbase-site.xml与hbase-default.xml 58
2.6.2 hbase-env.sh 59
2.6.3 regionserver 59
2.6.4 log4j.properties 59
2.6.5 配置示例 59
2.6.6 客户端配置 61
2.7 部署 61
2.7.1 基于脚本 62
2.7.2 Apache Whirr 63
2.7.3 Puppet与Chef 63
2.8 操作集群 64
2.8.1 确定安装运行 64
2.8.2 Web UI介绍 65
2.8.3 Shell介绍 66
2.8.4 关闭集群 66
第3章 客户端API:基础知识 68
3.1 概述 68
3.2 CRUD操作 69
3.2.1 put方法 69
3.2.2 get方法 87
3.2.3 删除方法 97
3.3 批量处理操作 107
3.4 行锁 110
3.5 扫描 114
3.5.1 介绍 114
3.5.2 ResultScanner类 117
3.5.3 缓存与批量处理 119
3.6 各种特性 125
3.6.1 HTable的实用方法 125
3.6.2 Bytes类 127
第4章 客户端API:高级特性 129
4.1 过滤器 129
4.1.1 过滤器简介 129
4.1.2 比较过滤器 132
4.1.3 专用过滤器 139
4.1.4 附加过滤器 147
4.1.5 FilterList 151
4.1.6 自定义过滤器 153
4.1.7 过滤器总结 159
4.2 计数器 160
4.2.1 计数器简介 160
4.2.2 单计数器 163
4.2.3 多计数器 164
4.3 协处理器 166
4.3.1 协处理器简介 167
4.3.2 Coprocessor类 168
4.3.3 协处理器加载 171
4.3.4 RegionObserver类 174
4.3.5 MasterObserver类 180
4.3.6 endpoint 184
4.4 HTablePool 190
4.5 连接管理 194
第5章 客户端API:管理功能 197
5.1 模式定义 197
5.1.1 表 197
5.1.2 表属性 199
5.1.3 列族 202
5.2 HBaseAdmin 207
5.2.1 基本操作 208
5.2.2 表操作 209
5.2.3 模式操作 217
5.2.4 集群管理 219
5.2.5 集群状态信息 222
第6章 可用客户端 230
6.1 REST、Thrift和Avro的介绍 230
6.2 交互客户端 233
6.2.1 原生Java 233
6.2.2 REST 233
6.2.3 Thrift 240
6.2.4 Avro 244
6.2.5 其他客户端 245
6.3 批处理客户端 246
6.3.1 MapReduce 246
6.3.2 Hive 246
6.3.3 Pig 252
6.3.4 Cascading 256
6.4 Shell 257
6.4.1 基础 257
6.4.2 命令 259
6.4.3 脚本 263
6.5 基于Web的UI 265
6.5.1 master的UI 265
6.5.2 region服务器的UI 270
6.5.3 共享页面 272
第7章 与MapReduce集成 275
7.1 框架 275
7.1.1 MapReduce介绍 275
7.1.2 类 276
7.1.3 支撑类 279
7.1.4 MapReduce的执行地点 279
7.1.5 表拆分 280
7.2 在HBase之上的MapReduce 281
7.2.1 准备 281
7.2.2 数据流向 286
7.2.3 数据源 291
7.2.4 数据源与数据流向 293
7.2.5 自定义处理 296
第8章 架构 299
8.1 数据查找和传输 299
8.1.1 B+树 299
8.1.2 LSM树 300
8.2 存储 302
8.2.1 概览 303
8.2.2 写路径 304
8.2.3 文件 305
8.2.4 HFile格式 313
8.2.5 KeyValue格式 316
8.3 WAL 316
8.3.1 概述 317
8.3.2 HLog类 318
8.3.3 HLogKey类 319
8.3.4 WALEdit类 319
8.3.5 LogSyncer类 319
8.3.6 LogRoller类 320
8.3.7 回放 321
8.3.8 持久性 324
8.4 读路径 325
8.5 region查找 328
8.6 region生命周期 330
8.7 ZooKeeper 330
8.8 复制 333
8.8.1 Log Edit的生命周期 334
8.8.2 内部机制 335
第9章 高级用法 339
9.1 行键设计 339
9.1.1 概念 339
9.1.2 高表与宽表 341
9.1.3 部分键扫描 342
9.1.4 分页 343
9.1.5 时间序列 344
9.1.6 时间顺序关系 348
9.2 高级模式 350
9.3 辅助索引 350
9.4 搜索集成 354
9.5 事务 357
9.6 布隆过滤器 358
9.7 版本管理 361
9.7.1 隐式版本控制 361
9.7.2 自定义版本控制 364
第10章 集群监控 366
10.1 介绍 366
10.2 监控框架 367
10.2.1 上下文、记录和监控指标 367
10.2.2 master监控指标 372
10.2.3 region服务器监控指标 373
10.2.4 RPC监控指标 375
10.2.5 JVM监控指标 376
10.2.6 info监控指标 377
10.3 Ganglia 378
10.3.1 安装 379
10.3.2 用法 383
10.4 JMX 386
10.4.1 JConsole 388
10.4.2 JMX远程API 390
10.5 Nagios 394
第11章 性能优化 395
11.1 垃圾回收优化 395
11.2 本地memstore分配缓冲区 398
11.3 压缩 399
11.3.1 可用的编解码器 400
11.3.2 验证安装 401
11.3.3 启用压缩 403
11.4 优化拆分和合并 404
11.4.1 管理拆分 404
11.4.2 region热点 405
11.4.3 预拆分region 406
11.5 负载均衡 407
11.6 合并region 408
11.7 客户端API:最佳实践 409
11.8 配置 411
11.9 负载测试 414
11.9.1 性能评价 414
11.9.2 YCSB 416
第12章 集群管理 421
12.1 运维任务 421
12.1.1 减少节点 421
12.1.2 滚动重启 423
12.1.3 新增服务器 424
12.2 数据任务 428
12.2.1 导入/导出 428
12.2.2 CopyTable工具 433
12.2.3 批量导入 435
12.2.4 复制 438
12.3 额外的任务 440
12.3.1 集群共存 440
12.3.2 端口要求 442
12.4 改变日志级别 442
12.5 故障处理 443
12.5.1 HBase Fsck 443
12.5.2 日志分析 445
12.5.3 常见问题 447
附录A HBase配置属性 451
附录B 计划 467
附录C 版本升级 469
附录D 分支 471
附录E Hush SQL Schema 473
附录F 对比HBase和BigTable 475
· · · · · · (收起)
1.1 海量数据的黎明 1
1.2 关系数据库系统的问题 5
1.3 非关系型数据库系统Not-Only-SQL(简称NoSQL) 7
1.3.1 维度 9
1.3.2 可扩展性 12
1.3.3 数据库的范式化和反范式化 12
1.4 结构 15
1.4.1 背景 15
1.4.2 表、行、列和单元格 16
1.4.3 自动分区 20
1.4.4 存储API 21
1.4.5 实现 22
1.4.6 小结 25
1.5 HBase:Hadoop数据库 25
1.5.1 历史 26
1.5.2 命名 27
1.5.3 小结 27
第2章 安装 28
2.1 快速启动指南 28
2.2 必备条件 31
2.2.1 硬件 31
2.2.2 软件 37
2.3 HBase使用的文件系统 47
2.3.1 本地模式 48
2.3.2 HDFS 49
2.3.3 S3 49
2.3.4 其他文件系统 50
2.4 安装选项 50
2.4.1 Apache二进制发布包 50
2.4.2 编译源码 52
2.5 运行模式 53
2.5.1 单机模式 53
2.5.2 分布式模式 53
2.6 配置 57
2.6.1 hbase-site.xml与hbase-default.xml 58
2.6.2 hbase-env.sh 59
2.6.3 regionserver 59
2.6.4 log4j.properties 59
2.6.5 配置示例 59
2.6.6 客户端配置 61
2.7 部署 61
2.7.1 基于脚本 62
2.7.2 Apache Whirr 63
2.7.3 Puppet与Chef 63
2.8 操作集群 64
2.8.1 确定安装运行 64
2.8.2 Web UI介绍 65
2.8.3 Shell介绍 66
2.8.4 关闭集群 66
第3章 客户端API:基础知识 68
3.1 概述 68
3.2 CRUD操作 69
3.2.1 put方法 69
3.2.2 get方法 87
3.2.3 删除方法 97
3.3 批量处理操作 107
3.4 行锁 110
3.5 扫描 114
3.5.1 介绍 114
3.5.2 ResultScanner类 117
3.5.3 缓存与批量处理 119
3.6 各种特性 125
3.6.1 HTable的实用方法 125
3.6.2 Bytes类 127
第4章 客户端API:高级特性 129
4.1 过滤器 129
4.1.1 过滤器简介 129
4.1.2 比较过滤器 132
4.1.3 专用过滤器 139
4.1.4 附加过滤器 147
4.1.5 FilterList 151
4.1.6 自定义过滤器 153
4.1.7 过滤器总结 159
4.2 计数器 160
4.2.1 计数器简介 160
4.2.2 单计数器 163
4.2.3 多计数器 164
4.3 协处理器 166
4.3.1 协处理器简介 167
4.3.2 Coprocessor类 168
4.3.3 协处理器加载 171
4.3.4 RegionObserver类 174
4.3.5 MasterObserver类 180
4.3.6 endpoint 184
4.4 HTablePool 190
4.5 连接管理 194
第5章 客户端API:管理功能 197
5.1 模式定义 197
5.1.1 表 197
5.1.2 表属性 199
5.1.3 列族 202
5.2 HBaseAdmin 207
5.2.1 基本操作 208
5.2.2 表操作 209
5.2.3 模式操作 217
5.2.4 集群管理 219
5.2.5 集群状态信息 222
第6章 可用客户端 230
6.1 REST、Thrift和Avro的介绍 230
6.2 交互客户端 233
6.2.1 原生Java 233
6.2.2 REST 233
6.2.3 Thrift 240
6.2.4 Avro 244
6.2.5 其他客户端 245
6.3 批处理客户端 246
6.3.1 MapReduce 246
6.3.2 Hive 246
6.3.3 Pig 252
6.3.4 Cascading 256
6.4 Shell 257
6.4.1 基础 257
6.4.2 命令 259
6.4.3 脚本 263
6.5 基于Web的UI 265
6.5.1 master的UI 265
6.5.2 region服务器的UI 270
6.5.3 共享页面 272
第7章 与MapReduce集成 275
7.1 框架 275
7.1.1 MapReduce介绍 275
7.1.2 类 276
7.1.3 支撑类 279
7.1.4 MapReduce的执行地点 279
7.1.5 表拆分 280
7.2 在HBase之上的MapReduce 281
7.2.1 准备 281
7.2.2 数据流向 286
7.2.3 数据源 291
7.2.4 数据源与数据流向 293
7.2.5 自定义处理 296
第8章 架构 299
8.1 数据查找和传输 299
8.1.1 B+树 299
8.1.2 LSM树 300
8.2 存储 302
8.2.1 概览 303
8.2.2 写路径 304
8.2.3 文件 305
8.2.4 HFile格式 313
8.2.5 KeyValue格式 316
8.3 WAL 316
8.3.1 概述 317
8.3.2 HLog类 318
8.3.3 HLogKey类 319
8.3.4 WALEdit类 319
8.3.5 LogSyncer类 319
8.3.6 LogRoller类 320
8.3.7 回放 321
8.3.8 持久性 324
8.4 读路径 325
8.5 region查找 328
8.6 region生命周期 330
8.7 ZooKeeper 330
8.8 复制 333
8.8.1 Log Edit的生命周期 334
8.8.2 内部机制 335
第9章 高级用法 339
9.1 行键设计 339
9.1.1 概念 339
9.1.2 高表与宽表 341
9.1.3 部分键扫描 342
9.1.4 分页 343
9.1.5 时间序列 344
9.1.6 时间顺序关系 348
9.2 高级模式 350
9.3 辅助索引 350
9.4 搜索集成 354
9.5 事务 357
9.6 布隆过滤器 358
9.7 版本管理 361
9.7.1 隐式版本控制 361
9.7.2 自定义版本控制 364
第10章 集群监控 366
10.1 介绍 366
10.2 监控框架 367
10.2.1 上下文、记录和监控指标 367
10.2.2 master监控指标 372
10.2.3 region服务器监控指标 373
10.2.4 RPC监控指标 375
10.2.5 JVM监控指标 376
10.2.6 info监控指标 377
10.3 Ganglia 378
10.3.1 安装 379
10.3.2 用法 383
10.4 JMX 386
10.4.1 JConsole 388
10.4.2 JMX远程API 390
10.5 Nagios 394
第11章 性能优化 395
11.1 垃圾回收优化 395
11.2 本地memstore分配缓冲区 398
11.3 压缩 399
11.3.1 可用的编解码器 400
11.3.2 验证安装 401
11.3.3 启用压缩 403
11.4 优化拆分和合并 404
11.4.1 管理拆分 404
11.4.2 region热点 405
11.4.3 预拆分region 406
11.5 负载均衡 407
11.6 合并region 408
11.7 客户端API:最佳实践 409
11.8 配置 411
11.9 负载测试 414
11.9.1 性能评价 414
11.9.2 YCSB 416
第12章 集群管理 421
12.1 运维任务 421
12.1.1 减少节点 421
12.1.2 滚动重启 423
12.1.3 新增服务器 424
12.2 数据任务 428
12.2.1 导入/导出 428
12.2.2 CopyTable工具 433
12.2.3 批量导入 435
12.2.4 复制 438
12.3 额外的任务 440
12.3.1 集群共存 440
12.3.2 端口要求 442
12.4 改变日志级别 442
12.5 故障处理 443
12.5.1 HBase Fsck 443
12.5.2 日志分析 445
12.5.3 常见问题 447
附录A HBase配置属性 451
附录B 计划 467
附录C 版本升级 469
附录D 分支 471
附录E Hush SQL Schema 473
附录F 对比HBase和BigTable 475
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
You should think about rows and columns not being arranged like the classic spreadsheet model, but rather use a tag metaphor, that is, information is available under a specific tag. (查看原文) —— 引自第18页 -
Every column value, or cell, either is timestamped implicitly by the system or can be set explicitly by the user. This can be used, for example, to save multiple versions of a value as it changes over time. Different versions of a cell are stored in decreasing time-stamp order, allowing you to read the newest value first. (查看原文) —— 引自第18页
> 全部原文摘录
喜欢读"HBase权威指南"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"HBase权威指南"的人也喜欢 · · · · · ·
-
- HBase实战 7.8
-
- Apache Kylin权威指南 8.4
-
- Hive编程指南 7.5
-
- Spark高级数据分析 7.7
-
- 大规模分布式存储系统 7.8
-
- PostgreSQL实战 7.6
-
- 高可用性的HDFS 5.6
-
- 数据库索引设计与优化 8.6
-
- 大数据平台基础架构指南 8.0
HBase权威指南的书评 · · · · · · ( 全部 4 条 )
快出该书的影印版本啊
作为海量互联网应用开发的利器,此书是案头必备之物。但英文原版价格不菲,还望国内有眼光的出版商快出影印本啊,以造福云计算界的各位兄弟姐妹。感觉依靠Hadoop+Hbase,互联网界的各位就可以干很多事情了。
(展开)
终于敢说自己了解HBase了
终于敢说自己了解HBase了(大数据时代, 如果连HBase都不了解, 确实是很丢人的-_-||). 只有当系统的学习了HBase提供的API(系统功能边界的一种体现)、集群架构、实现原理、以至于自己亲手去实现一个基于HBase的ORM框架时才感觉真的是理解了他, 下一步就是用在实际的项目中解决现有...
(展开)
一本不错的关于HBase的书籍
去年一直的玩Hbase,过程中遇到不少麻烦,通过这本书和其他的一些网络上的文献资料,确实解决了我不少的疑问。或许由于HBase Client API用起来不方便,我在此基础之上封装了一个伪ORM,或许对于我来说,提高员工的生产力才是关键吧。跑题了,这本书确实不错,如果大家感兴趣,...
(展开)
> 更多书评 4篇
这本书的其他版本 · · · · · · ( 全部4 )
-
人民邮电出版社 (2013)8.4分 28人读过
-
O'Reilly Media (2011)8.6分 84人读过
-
O'Reilly Media (2015)暂无评分 5人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- Hadoop权威指南 (yang_bigarm)
- 我读过的计算机书籍 (corpsefire)
- 大数据技术(Hadoop+HBase+Hive+Pig) (旸谷)
- 大数据书单 (敏子爱书)
- 分布式学习 (酸奶)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有412人想读,手里有一本闲着?
订阅关于HBase权威指南的评论:
feed: rss 2.0

0 有用 Genieliu 2019-03-05 13:25:37
为了更好地理解Bigtable借的这本书,通过对比bigtable以及hbase里面的架构,明白了相关服务起到的作用。不过本书更多精力放在了Hbase的使用上。由于暂时没有需求,后续有用到的时候再加深理解吧。
0 有用 随心而至 2022-02-09 16:10:15
比较坑的点 1.源码默认是第二版的,第一版需要到这里下载https://github.com/larsgeorge/hbase- book/releases/tag/rev1 2.用的https://archive.apache.org/dist/hbase/hbase-0.90.6/ ,没有 找到0.91的 3.运行第七章的时候,要安装与HBase 0.90.6兼容的Hadoop 0.20.20... 比较坑的点 1.源码默认是第二版的,第一版需要到这里下载https://github.com/larsgeorge/hbase- book/releases/tag/rev1 2.用的https://archive.apache.org/dist/hbase/hbase-0.90.6/ ,没有 找到0.91的 3.运行第七章的时候,要安装与HBase 0.90.6兼容的Hadoop 0.20.205.0 -下载hadoop https://archive.apache.org/dist/hadoop/common/hadoop-0.20.205.0/, -按照下面的文档安装:https://github-wiki-see.page/m/bertram-zbc/Hadoop-Class/wik (展开)
0 有用 很水 2020-11-18 18:36:12
架构和高级用法章节,很有意思
0 有用 Julian 2016-02-02 10:31:07
讲解了hbase的方法面面,从部署到编程到架构到底层存储到行键设计,受益匪浅
2 有用 绯青 2018-07-09 18:17:34
终于敢说自己了解HBase了(大数据时代, 如果连HBase都不了解, 确实是很丢人的-_-||). 只有当系统的学习了HBase提供的API(系统功能边界的一种体现)、集群架构、实现原理、以至于自己亲手去实现一个基于HBase的ORM框架时才感觉真的是理解了他, 下一步就是用在实际的项目中解决现有问题. HBase的架构博大精深: LSM、WAL、Region拆分、复制、load balance... 终于敢说自己了解HBase了(大数据时代, 如果连HBase都不了解, 确实是很丢人的-_-||). 只有当系统的学习了HBase提供的API(系统功能边界的一种体现)、集群架构、实现原理、以至于自己亲手去实现一个基于HBase的ORM框架时才感觉真的是理解了他, 下一步就是用在实际的项目中解决现有问题. HBase的架构博大精深: LSM、WAL、Region拆分、复制、load balance ... 几乎覆盖了工程技术的方方面面(唯一的缺憾是没有看到Master怎样操作Region拆分. sad). 这次重点学习了HBase的API、架构、高级特性(RowKey设计原则、Filter、BloomFilter)、BigTable原理, 部分章节读了两三遍. (展开)