猜你喜欢
HBase入门与实践

HBase入门与实践

书籍作者:彭旭 ISBN:9787115493835
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4336
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书以精练的语言介绍HBase的基础知识,让初学者能够快速上手使用HBase,对HBase的核心思想(如数据读取、数据备份等)和HBase架构(如LSM树、WAL)有深入的分析,并且让有经验的HBase开发人员也能够循序渐进地深入理解HBase源码,以便更好地去调试和解决线上遇到的各种问题。本书更加专注于HBase在线实时系统的调优,使HBase集群响应延迟更低。本书结合企业必备的“用户行为分析系统”,让读者能够快速上手的同时,也不乏企业HBase实际应用场景,理论不脱离实际,真正做到从入门到精通。
本书适合有一定Java基础的程序员作为HBase入门教程,HBase运维人员可以将本书作为参考手册来部署和监控HBase,正在将HBase应用到在线生产环境中的软件开发人员也可以参考本书来调优HBase在线集群性能。
作者简介
彭旭,2009 年毕业于武汉大学软件工程专业,近十年国内**互联网企业工作经验,曾任阿里巴巴天猫技术部资深软件工程师、珠海市魅族科技有限公司架构师,现在在创业公司珠海市卓轩科技有限公司任合伙人。精通Java 生态系统相关技术,对大数据存储、HBase 系统调优有深刻理解,带领团队将云服务存储系统从MySQL 迁移到HBase,每年为公司节省成本数百万元。
编辑推荐
大数据作为人工智能的基石,当前正站在计算机技术发展的风口, 而作为Apache**项目的HBase的优势是高性能读写、弹性伸缩、面向列族存储,能够轻松应对数据存储的爆发,提供对千万级QPS低延时需求支持,毫无疑问是企业搭建大数据在线实时应用的**。

Hadoop生态系统的HDFS和MapReduce分别为大数据提供了存储和分析处理能力,但是对在线实时的数据存取则爱莫能助,而HBase弥补了Hadoop的这一缺陷,满足了在线实时系统低延时的需求。

本书以精炼的语言介绍HBase基础知识,让初学者能够快速上手使用HBase,对HBase 的核心架构思想(如数据读取、数据备份等)有深入的了解,并且剖析HBase源码,介绍HBase 1.X 以及2.0带来的新特性,让有经验的HBase开发人员也能够循序渐进地深入理解HBase源码,以便更好地去调试和解决线上遇到的各种问题。

本书更加专注于HBase在线实时系统的调优,同时不乏企业HBase实际应用场景,理论联系实际,非常适合大数据开发人员、大数据运维人员和Hadoop生态开发人员参考和阅读。
目录
目录

第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