读者服务

HBase不睡觉书

2018-10-08 08:48 | 来源: | 关注度:

 

 

  【作 者】

杨曦

【出 版 社】

清华大学出版社

【索 书 号】

TP393.071 Y303

【馆藏地点】

201书库(工业技术类)

内容提要:

HBaseApache旗下一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。 本书共分为9章,由浅深地讲解HBase概念、安装、配置、部署,让读者对HBase先有一个感性认识,再从应用角度介绍了高级用法、监控和性能调优。既兼顾了初学者,也适用于想要深学习HBase的读者。 本书适合于以前没有触过HBase,或者了解HBase,并希望能够深掌握的读者,适合HBase应用发人员和系统管理人员学习使用。 HBaseApache旗下一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。 本书共分为9章,由浅深地讲解HBase概念、安装、配置、部署,让读者对HBase先有一个感性认识,再从应用角度介绍了高级用法、监控和性能调优。既兼顾了初学者,也适用于想要深学习HBase的读者。 本书适合于以前没有触过HBase,或者了解HBase,并希望能够深掌握的读者,适合HBase应用发人员和系统管理人员学习使用。

录:

前言

如何才能不睡着地看本书

如何才能不睡着地看所有书

这本书不是HBase知识大全

技术支持与致谢

1 初识HBase

1.1 海量数据与NoSQL

1.1.1 关系型数据库的极限

1.1.2 CAP理论

1.1.3 NoSQL

1.2 HBase是怎么来的

1.3 为什么要用HBase

1.4 你必须懂的基本概念

1.4.1 部署架构

1.4.2 存储架构

1.4.3 跟关系型数据库的对比

2 HBase跑起来

什么是单点故障

2.1 本书测试环境

2.2 配置服务器名

2.3 配置SSH免密登录

2.4 安装Hadoop

2.4.1 安装Hadoop单机模式

2.4.2 安装Hadoop集群模式

2.4.3 ZooKeeper

2.4.4 配置Hadoop HA

2.4.5 Hadoop可以开机自启动

2.4.6 最终配置文件

2.5 安装HBase

2.5.1 单机模式

2.5.2 伪分布式模式

2.5.3 关于ZooKeeper不得不说的事

2.5.4 完全分布式模式

2.5.5 HBase Web控制台(UI

2.5.6 HBase可以开机自启动

2.5.7 启用数据块编码(可选)

2.5.8 启用压缩器(可选)

2.5.9 数据块编码还是压缩器(可选)

3 HBase基本操作

3.1 hbase shell的使用

3.1.1 create命令建表

3.1.2 list命令来查看库中有哪些表

3.1.3 describe命令来查看表属性

3.1.4 put命令来插入数据

3.1.5 scan来查看表数据

3.1.6 get来获取单元格数据

3.1.7 delete来删除数据

3.1.8 deleteall删除整行记录

3.1.9 disable来停用表

3.1.10 drop来删除表

3.1.11 shell命令列表

3.2 使用Hue来查看HBase数据

3.2.1 准备工作

3.2.2 安装Hue

3.2.3 配置Hue

3.2.4 使用Hue来查看HBase

4 客户端API入门

4.1 10分钟教程

4.2 30分钟教程

4.3 CRUD一个也不能少

4.3.1 HTable类和Table接口

4.3.2 put方法

4.3.3 append方法

4.3.4 increment方法

4.3.5 get方法

4.3.6 exists方法

4.3.7 delete方法

4.3.8 mutation方法

4.4 批量操作

4.4.1 批量put操作

4.4.2 批量get操作

4.4.3 批量delete操作

4.5 BufferedMutator(可选)

4.6 Scan扫描

4.6.1 用法

4.6.2 缓存

4.7 HBase支持什么数据格式

4.8 总结

5 HBase内部探险

5.1 数据模型

5.2 HBase是怎么存储数据的

5.2.1 宏观架构

5.2.2 预写日志

5.2.3 MemStore

5.2.4 HFile

5.2.5 KeyValue

5.2.6 增删查改的真正面目

5.2.7 数据单元层次图

5.3 一个KeyValue的历险

5.3.1 写入

5.3.2 读出

5.4 Region的定位

6 客户端API的高阶用法

6.1 过滤器

6.1.1 过滤器快速入门

6.1.2 比较运算快速入门

6.1.3 分页过滤器

6.1.4 过滤器列表

6.1.5 行键过滤器

6.1.6 列过滤器

6.1.7 单元格过滤器

6.1.8 装饰过滤器

6.1.9 自定义过滤器

6.1.10 如何在hbase shell中使用过滤器

6.2 协处理器

6.2.1 协处理器家族

6.2.2 快速入门

6.2.3 如何加载

6.2.4 协处理器核心类

6.2.5 观察者

6.2.6 终端程序

7 客户端API的管理功能

7.1 列族管理

7.2 表管理

7.3 Region管理

7.4 快照管理

7.5 维护工具管理

7.5.1 均衡器

7.5.2 规整器

7.5.3 目录管理器

7.6 集群状态以及负载(ClusterStatus & ServerLoad

7.7 Admin的其他方法

7.8 可见性标签管理

7.8.1 快速入门

7.8.2 可用标签

7.8.3 用户标签

7.8.4 单元格标签

8 再快一点

8.1 MasterRegionServerJVM调优

8.1.1 先调大堆内存

8.1.2 可怕的Full GC

8.1.3 Memstore的专属JVM策略MSLAB

8.2 Region的拆分

8.2.1 Region的自动拆分

8.2.2 Region的预拆分

8.2.3 Region的强制拆分

8.2.4 推荐方案

8.2.5 总结

8.3 Region的合并

8.3.1 通过Merge类合并Region

8.3.2 热合并

8.4 WAL的优化

8.5 BlockCache的优化

8.5.1 LRUBlock Cache

8.5.2 SlabCache

8.5.3 Bucket Cache

8.5.4 组合模式

8.5.5 总结

8.6 Memstore的优化

8.6.1 读写中的Memstore

8.6.2 Memstore的刷写

8.6.3 总结

8.7 HFile的合并

8.7.1 合并的策略

8.7.2 compaction的吞吐量限制参数

8.7.3 合并的时候HBase做了什么

8.7.4 Major Compaction

8.7.5 总结

8.8 诊断手册

8.8.1 阻塞急救

8.8.2 朱丽叶暂停

8.8.3 读取性能调优

8.8.4 案例分析

9 HBase遇上MapReduce

9.1 为什么要用MapReduce

9.2 快速入门

9.3 慢速入门:编写自己的MapReduce

9.3.1 准备数据

9.3.2 新建项目

9.3.3 建立MapReduce

9.3.4 建立驱动类

9.3.5 打包、部署、运行

9.4 相关类介绍

9.4.1 TableMapper

9.4.2 TableReducer

9.4.3 TableMapReduceUtil