《HBase权威指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)乔治著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115318893
  • 页数:477 页
图书介绍:本书探讨了与Hadoop的高度集成如何使HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的网关服务器来访问HBase;了解HBase架构的细节,包括存储格式、预写日志、后台进程等;在HBase中集成MapReduce框架;了解如何调节集群、设计模式、拷贝表、导入批量数据和删除节点等。

第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