
编辑推荐
大数据作为人工智能的基石,当前正站在计算机技术发展的风口, 而作为Apache顶级项目的HBase的优势是高性能读写、弹性伸缩、面向列族存储,能够轻松应对数据存储的爆发,提供对千万级QPS低延时需求支持,毫无疑问是企业搭建大数据在线实时应用的首选。
Hadoop生态系统的HDFS和MapReduce分别为大数据提供了存储和分析处理能力,但是对在线实时的数据存取则爱莫能助,而HBase弥补了Hadoop的这一缺陷,满足了在线实时系统低延时的需求。
本书以精炼的语言介绍HBase基础知识,让初学者能够快速上手使用HBase,对HBase 的核心架构思想(如数据读取、数据备份等)有深入的了解,并且剖析HBase源码,介绍HBase 1.X 以及2.0带来的新特性,让有经验的HBase开发人员也能够循序渐进地深入理解HBase源码,以便更好地去调试和解决线上遇到的各种问题。
本书更加专注于HBase在线实时系统的调优,同时不乏企业HBase实际应用场景,理论联系实际,非常适合大数据开发人员、大数据运维人员和Hadoop生态开发人员参考和阅读。
媒体推荐
本书循序渐进地介绍了HBase 从入门到企业实践调优,深入浅出地阐述了HBase 架构与实现原理……作者在魅族云和大数据充分实践了书中架构,并实际带来了质量和效率的提升,同时也降低了云端运营成本。
—— 李柯辰,前魅族平台事业部总经理,现卓轩科技CEO
本书在介绍HBase 基础知识的同时融入了作者在魅族云服务团队将存储系统迁移到HBase 的经验和教训,此外还在HBase源码和架构研究上有涉猎,对初学者、Java 相关开发人员和HBase 运维人员等都是一本不错的参考书。
—— 何伟,前魅族Flyme 技术委员会主席,现卓轩科技CTO
作者将多年HBase 的实践经验与心得体会沉淀成为本书,既有经典的案例分析,也有抽丝剥茧的源码分析,对于大数据行业从业者,非常值得一读。
—— 张发恩,前百度云技术委员会主席,创新工场人工智能工程院首席架构师,创新奇智CTO
作者是一个长期战斗在一线的典型程序员,本书所写的内容均贴近现实应用场景,用线上真实的案例来描述如何构建、优化HBase 生产环境,事半功倍,不管是初学者还是入门者都可以从这些案例中吸取经验。
—— 唐进,前百度云产品委员会主席,现爱乐奇CTO
与拖沓烦冗的英文著作相比,本书篇幅适中,但是以精简干练的语言完整地描述了HBase 从初学到熟练应用所需学习的所有HBase 知识点。
—— 马杜,华云数据执行总裁
HBase 是一个历久弥坚的分布式列式存储系统,相关书籍出版时间均距今已久……网上大量文档在不同程度上有过时的问题,与其在网站上找过时的资料,不如直接读代码。因此,本书全面介绍了当前稳定版本的HBase,真是为HBase 相关开发人员提供了很大的便利。
—— 傅强,前当当网技术副总裁,现九枝兰合伙人
本书作者是前阿里天猫的工程师,有着丰富的开发经验,相信这本书一定能让读者的HBase 理论与实践水平更上一层楼。
—— 杨开振,《深入浅出MyBatis 技术原理与实战》《深入浅出Spring Boot 2.x》《Java EE 互联网轻量级框架整合开发:SSM 框架(Spring MVC+Spring+MyBatis)和Redis 实现》作者
一个有很大价值的开源项目,既需要活跃的代码贡献者为其快速迭代铺路,也需要有优质的入门资料为广大初学者打下良好的基础……本书对入门者来说是很好的中文读物。书中配有丰富的案例和插图,让读者可以较为轻松地理解HBase 的常用场景和用法。希望本书对广大的HBase 爱好者有所裨益。
—— 胡争,小米HBase 工程师,HBase Committer
本书以当前HBase 最新的稳定版本为基础,十分精准地抽离出了开发者需要重点关注的特点,并辅以几个典型的场景加以分析,堪称业务系统设计的手边助理。此外,作者拥有丰富的一线经验,因此本书具有很高的实践价值,可以帮助开发者迅速上手生产系统的安装、部署以及API 使用。
—— 邓明鉴,前阿里巴巴高级专家,现ZStack 首席架构师
作者简介
彭旭,2009 年毕业于武汉大学软件工程专业,近十年国内顶尖互联网企业工作经验,曾任阿里巴巴天猫技术部资深软件工程师、珠海市魅族科技有限公司架构师,现在在创业公司珠海市卓轩科技有限公司任合伙人。精通Java 生态系统相关技术,对大数据存储、HBase 系统调优有深刻理解,带领团队将云服务存储系统从MySQL 迁移到HBase,每年为公司节省成本数百万元。
目录
目录
第1章 HBase简介 1
1.1 背景 1
1.2 NoSQL与传统RDBMS 2
1.3 应用场景 3
1.3.1 Facebook用户交互数据 3
1.3.2 淘宝TLog等 3
1.3.3 小米云服务 4
1.3.4 用户行为数据存储 4
第2章 HBase安装 5
2.1 单机部署 5
2.1.1 前置条件 5
2.1.2 下载HBase 6
2.1.3 配置HBase 6
2.1.4 启动HBase 6
2.1.5 HBase初体验 7
2.2 分布式部署 8
2.2.1 环境准备 9
2.2.2 ZooKeeper安装 11
2.2.3 Hadoop安装 12
2.2.4 HBase安装 23
2.2.5 启动集群 28
2.3 集群增删节点 29
2.3.1 增加节点 29
2.3.2 删除节点 30
第3章 HBase数据模型 33
3.1 逻辑模型 33
3.2 物理模型 35
第4章 HBase shell 39
4.1 数据定义语言 39
4.1.1 创建表 39
4.1.2 查看所有表 40
4.1.3 查看建表 40
4.1.4 修改表 41
4.2 数据操纵语言 41
4.2.1 Put 41
4.2.2 Get 42
4.2.3 Scan 43
4.2.4 删除数据 45
4.3 其他常用shell 46
4.3.1 复制状态查看 46
4.3.2 分区拆分 47
4.3.3 分区主压缩 47
4.3.4 负载均衡开关 48
4.3.5 分区手动迁移 48
第5章 模式设计 49
5.1 行键设计 50
5.2 规避热点区间 52
5.3 高表与宽表 54
5.4 微信朋友圈设计 55
5.4.1 需求定义 55
5.4.2 问题建模 55
第6章 客户端API 61
6.1 Java客户端使用 61
6.2 数据定义语言 64
6.2.1 表管理 64
6.2.2 分区管理 66
6.3 数据操纵语言 68
6.3.1 Put 68
6.3.2 Get 70
6.3.3 Scan 72
6.3.4 Delete 74
6.3.5 Increment 76
6.4 过滤器 78
6.4.1 过滤器简介 78
6.4.2 过滤器使用 81
6.5 事务 94
6.5.1 原子性 95
6.5.2 隔离性 95
第7章 架构实现 101
7.1 存储 101
7.1.1 B+树 101
7.1.2 LSM树 102
7.1.3 WAL 104
7.2 数据写入读取 107
7.2.1 定位分区服务器 107
7.2.2 数据修改流程 108
7.2.3 数据查询流程 113
第8章 协处理器 115
8.1 观察者类型协处理器 115
8.2 端点类型协处理器 132
8.3 装载/卸载协处理器 136
8.3.1 静态装载/卸载 136
8.3.2 动态装载/卸载 137
第9章 HBase性能调优 141
9.1 客户端调优 141
9.1.1 设置客户端写入缓存 141
9.1.2 设置合适的扫描缓存 143
9.1.3 跳过WAL写入 143
9.1.4 设置重试次数与间隔 144
9.1.5 选用合适的过滤器 144
9.2 服务端调优 145
9.2.1 建表DDL优化 145
9.2.2 禁止分区自动拆分与压缩 150
9.2.3 开启机柜感知 151
9.2.4 开启Short Circuit Local Reads 153
9.2.5 开启补偿重试读 154
9.2.6 JVM内存调优 155
第10章 集群间数据复制 163
10.1 复制 164
10.1.1 集群拓扑 165
10.1.2 配置集群复制 166
10.1.3 验证复制数据 169
10.1.4 复制详解 171
10.2 快照 175
10.2.1 配置快照 176
10.2.2 管理快照 176
10.3 导出和导入 178
10.3.1 导出 178
10.3.2 导入 180
10.4 复制表 180
第11章 监控 183
11.1 Hadoop监控 183
11.1.1 Web监控页面 184
11.1.2 JMX监控 185
11.2 HBase监控 188
11.2.1 Web监控页面 188
11.2.2 JMX监控 190
11.2.3 API监控 192
后记 195
附录 常见问题 197
大数据作为人工智能的基石,当前正站在计算机技术发展的风口, 而作为Apache顶级项目的HBase的优势是高性能读写、弹性伸缩、面向列族存储,能够轻松应对数据存储的爆发,提供对千万级QPS低延时需求支持,毫无疑问是企业搭建大数据在线实时应用的首选。
Hadoop生态系统的HDFS和MapReduce分别为大数据提供了存储和分析处理能力,但是对在线实时的数据存取则爱莫能助,而HBase弥补了Hadoop的这一缺陷,满足了在线实时系统低延时的需求。
本书以精炼的语言介绍HBase基础知识,让初学者能够快速上手使用HBase,对HBase 的核心架构思想(如数据读取、数据备份等)有深入的了解,并且剖析HBase源码,介绍HBase 1.X 以及2.0带来的新特性,让有经验的HBase开发人员也能够循序渐进地深入理解HBase源码,以便更好地去调试和解决线上遇到的各种问题。
本书更加专注于HBase在线实时系统的调优,同时不乏企业HBase实际应用场景,理论联系实际,非常适合大数据开发人员、大数据运维人员和Hadoop生态开发人员参考和阅读。
媒体推荐
本书循序渐进地介绍了HBase 从入门到企业实践调优,深入浅出地阐述了HBase 架构与实现原理……作者在魅族云和大数据充分实践了书中架构,并实际带来了质量和效率的提升,同时也降低了云端运营成本。
—— 李柯辰,前魅族平台事业部总经理,现卓轩科技CEO
本书在介绍HBase 基础知识的同时融入了作者在魅族云服务团队将存储系统迁移到HBase 的经验和教训,此外还在HBase源码和架构研究上有涉猎,对初学者、Java 相关开发人员和HBase 运维人员等都是一本不错的参考书。
—— 何伟,前魅族Flyme 技术委员会主席,现卓轩科技CTO
作者将多年HBase 的实践经验与心得体会沉淀成为本书,既有经典的案例分析,也有抽丝剥茧的源码分析,对于大数据行业从业者,非常值得一读。
—— 张发恩,前百度云技术委员会主席,创新工场人工智能工程院首席架构师,创新奇智CTO
作者是一个长期战斗在一线的典型程序员,本书所写的内容均贴近现实应用场景,用线上真实的案例来描述如何构建、优化HBase 生产环境,事半功倍,不管是初学者还是入门者都可以从这些案例中吸取经验。
—— 唐进,前百度云产品委员会主席,现爱乐奇CTO
与拖沓烦冗的英文著作相比,本书篇幅适中,但是以精简干练的语言完整地描述了HBase 从初学到熟练应用所需学习的所有HBase 知识点。
—— 马杜,华云数据执行总裁
HBase 是一个历久弥坚的分布式列式存储系统,相关书籍出版时间均距今已久……网上大量文档在不同程度上有过时的问题,与其在网站上找过时的资料,不如直接读代码。因此,本书全面介绍了当前稳定版本的HBase,真是为HBase 相关开发人员提供了很大的便利。
—— 傅强,前当当网技术副总裁,现九枝兰合伙人
本书作者是前阿里天猫的工程师,有着丰富的开发经验,相信这本书一定能让读者的HBase 理论与实践水平更上一层楼。
—— 杨开振,《深入浅出MyBatis 技术原理与实战》《深入浅出Spring Boot 2.x》《Java EE 互联网轻量级框架整合开发:SSM 框架(Spring MVC+Spring+MyBatis)和Redis 实现》作者
一个有很大价值的开源项目,既需要活跃的代码贡献者为其快速迭代铺路,也需要有优质的入门资料为广大初学者打下良好的基础……本书对入门者来说是很好的中文读物。书中配有丰富的案例和插图,让读者可以较为轻松地理解HBase 的常用场景和用法。希望本书对广大的HBase 爱好者有所裨益。
—— 胡争,小米HBase 工程师,HBase Committer
本书以当前HBase 最新的稳定版本为基础,十分精准地抽离出了开发者需要重点关注的特点,并辅以几个典型的场景加以分析,堪称业务系统设计的手边助理。此外,作者拥有丰富的一线经验,因此本书具有很高的实践价值,可以帮助开发者迅速上手生产系统的安装、部署以及API 使用。
—— 邓明鉴,前阿里巴巴高级专家,现ZStack 首席架构师
作者简介
彭旭,2009 年毕业于武汉大学软件工程专业,近十年国内顶尖互联网企业工作经验,曾任阿里巴巴天猫技术部资深软件工程师、珠海市魅族科技有限公司架构师,现在在创业公司珠海市卓轩科技有限公司任合伙人。精通Java 生态系统相关技术,对大数据存储、HBase 系统调优有深刻理解,带领团队将云服务存储系统从MySQL 迁移到HBase,每年为公司节省成本数百万元。
目录
目录
第1章 HBase简介 1
1.1 背景 1
1.2 NoSQL与传统RDBMS 2
1.3 应用场景 3
1.3.1 Facebook用户交互数据 3
1.3.2 淘宝TLog等 3
1.3.3 小米云服务 4
1.3.4 用户行为数据存储 4
第2章 HBase安装 5
2.1 单机部署 5
2.1.1 前置条件 5
2.1.2 下载HBase 6
2.1.3 配置HBase 6
2.1.4 启动HBase 6
2.1.5 HBase初体验 7
2.2 分布式部署 8
2.2.1 环境准备 9
2.2.2 ZooKeeper安装 11
2.2.3 Hadoop安装 12
2.2.4 HBase安装 23
2.2.5 启动集群 28
2.3 集群增删节点 29
2.3.1 增加节点 29
2.3.2 删除节点 30
第3章 HBase数据模型 33
3.1 逻辑模型 33
3.2 物理模型 35
第4章 HBase shell 39
4.1 数据定义语言 39
4.1.1 创建表 39
4.1.2 查看所有表 40
4.1.3 查看建表 40
4.1.4 修改表 41
4.2 数据操纵语言 41
4.2.1 Put 41
4.2.2 Get 42
4.2.3 Scan 43
4.2.4 删除数据 45
4.3 其他常用shell 46
4.3.1 复制状态查看 46
4.3.2 分区拆分 47
4.3.3 分区主压缩 47
4.3.4 负载均衡开关 48
4.3.5 分区手动迁移 48
第5章 模式设计 49
5.1 行键设计 50
5.2 规避热点区间 52
5.3 高表与宽表 54
5.4 微信朋友圈设计 55
5.4.1 需求定义 55
5.4.2 问题建模 55
第6章 客户端API 61
6.1 Java客户端使用 61
6.2 数据定义语言 64
6.2.1 表管理 64
6.2.2 分区管理 66
6.3 数据操纵语言 68
6.3.1 Put 68
6.3.2 Get 70
6.3.3 Scan 72
6.3.4 Delete 74
6.3.5 Increment 76
6.4 过滤器 78
6.4.1 过滤器简介 78
6.4.2 过滤器使用 81
6.5 事务 94
6.5.1 原子性 95
6.5.2 隔离性 95
第7章 架构实现 101
7.1 存储 101
7.1.1 B+树 101
7.1.2 LSM树 102
7.1.3 WAL 104
7.2 数据写入读取 107
7.2.1 定位分区服务器 107
7.2.2 数据修改流程 108
7.2.3 数据查询流程 113
第8章 协处理器 115
8.1 观察者类型协处理器 115
8.2 端点类型协处理器 132
8.3 装载/卸载协处理器 136
8.3.1 静态装载/卸载 136
8.3.2 动态装载/卸载 137
第9章 HBase性能调优 141
9.1 客户端调优 141
9.1.1 设置客户端写入缓存 141
9.1.2 设置合适的扫描缓存 143
9.1.3 跳过WAL写入 143
9.1.4 设置重试次数与间隔 144
9.1.5 选用合适的过滤器 144
9.2 服务端调优 145
9.2.1 建表DDL优化 145
9.2.2 禁止分区自动拆分与压缩 150
9.2.3 开启机柜感知 151
9.2.4 开启Short Circuit Local Reads 153
9.2.5 开启补偿重试读 154
9.2.6 JVM内存调优 155
第10章 集群间数据复制 163
10.1 复制 164
10.1.1 集群拓扑 165
10.1.2 配置集群复制 166
10.1.3 验证复制数据 169
10.1.4 复制详解 171
10.2 快照 175
10.2.1 配置快照 176
10.2.2 管理快照 176
10.3 导出和导入 178
10.3.1 导出 178
10.3.2 导入 180
10.4 复制表 180
第11章 监控 183
11.1 Hadoop监控 183
11.1.1 Web监控页面 184
11.1.2 JMX监控 185
11.2 HBase监控 188
11.2.1 Web监控页面 188
11.2.2 JMX监控 190
11.2.3 API监控 192
后记 195
附录 常见问题 197
ISBN | 9787115493835,7115493839 |
---|---|
出版社 | 人民邮电出版社 |
作者 | 彭旭 |
尺寸 | 16 |