HBase不睡觉书

HBase不睡觉书

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.219 评价豆瓣读书
免费试读
特惠满减专区满500减250、满200减100、满100减50活动详情

作品简介

HBase是Apache旗下一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据进行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。

本书共分为9章,由浅入深地讲解HBase概念、安装、配置、部署,让读者对HBase先有一个感性认识,再从应用角度介绍了高级用法、监控和性能调优。既兼顾了初学者,也适用于想要深入学习HBase的读者。

本书适合于以前没有接触过HBase,或者了解HBase,并希望能够深入掌握的读者,适合HBase应用开发人员和系统管理人员学习使用。

杨曦,就职于硅谷某上市公司,对大数据、云计算等技术有较深研究以及项目实践经验。热衷创业、编写开源项目、撰写技术博客。

作品目录

  1. 内容简介
  2. 前言
  3. 如何才能不睡着地看本书
  4. 如何才能不睡着地看所有书
  5. 这本书不是HBase知识大全
  6. 技术支持与致谢
  7. 第1章 ◄ 初识HBase ►
  8. 1.1 海量数据与NoSQL
  9. 1.1.1 关系型数据库的极限
  10. 1.1.2 CAP理论
  11. 1.1.3 NoSQL
  12. 1.2 HBase是怎么来的
  13. 1.3 为什么要用HBase
  14. 1.4 你必须懂的基本概念
  15. 1.4.1 部署架构
  16. 1.4.2 存储架构
  17. 1.4.3 跟关系型数据库的对比
  18. 第2章 ◄ 让HBase跑起来 ►
  19. 2.1 本书测试环境
  20. 2.2 配置服务器名
  21. 2.3 配置SSH免密登录
  22. 2.4 安装Hadoop
  23. 2.4.1 安装Hadoop单机模式
  24. 2.4.2 安装Hadoop集群模式
  25. 2.4.3 ZooKeeper
  26. 2.4.4 配置Hadoop HA
  27. 2.4.5 让Hadoop可以开机自启动
  28. 2.4.6 最终配置文件
  29. 2.5 安装HBase
  30. 2.5.1 单机模式
  31. 2.5.2 伪分布式模式
  32. 2.5.3 关于ZooKeeper不得不说的事
  33. 2.5.4 完全分布式模式
  34. 2.5.5 HBase Web控制台(UI)
  35. 2.5.6 让HBase可以开机自启动
  36. 2.5.7 启用数据块编码(可选)
  37. 2.5.8 启用压缩器(可选)
  38. 2.5.9 数据块编码还是压缩器(可选)
  39. 第3章 ◄ HBase基本操作 ►
  40. 3.1 hbase shell的使用
  41. 3.1.1 用create命令建表
  42. 3.1.2 用list命令来查看库中有哪些表
  43. 3.1.3 用describe命令来查看表属性
  44. 3.1.4 用put命令来插入数据
  45. 3.1.5 用scan来查看表数据
  46. 3.1.6 用get来获取单元格数据
  47. 3.1.7 用delete来删除数据
  48. 3.1.8 用deleteall删除整行记录
  49. 3.1.9 用disable来停用表
  50. 3.1.10 用drop来删除表
  51. 3.1.11 shell命令列表
  52. 3.2 使用Hue来查看HBase数据
  53. 3.2.1 准备工作
  54. 3.2.2 安装Hue
  55. 3.2.3 配置Hue
  56. 3.2.4 使用Hue来查看HBase
  57. 第4章 ◄ 客户端API入门 ►
  58. 4.1 10分钟教程
  59. 4.2 30分钟教程
  60. 4.3 CRUD一个也不能少
  61. 4.3.1 HTable类和Table接口
  62. 4.3.2 put方法
  63. 4.3.3 append方法
  64. 4.3.4 increment方法
  65. 4.3.5 get方法
  66. 4.3.6 exists方法
  67. 4.3.7 delete方法
  68. 4.3.8 mutation方法
  69. 4.4 批量操作
  70. 4.4.1 批量put操作
  71. 4.4.2 批量get操作
  72. 4.4.3 批量delete操作
  73. 4.5 BufferedMutator(可选)
  74. 4.6 Scan扫描
  75. 4.6.1 用法
  76. 4.6.2 缓存
  77. 4.7 HBase支持什么数据格式
  78. 4.8 总结
  79. 第5章 ◄ HBase内部探险 ►
  80. 5.1 数据模型
  81. 5.2 HBase是怎么存储数据的
  82. 5.2.1 宏观架构
  83. 5.2.2 预写日志
  84. 5.2.3 MemStore
  85. 5.2.4 HFile
  86. 5.2.5 KeyValue类
  87. 5.2.6 增删查改的真正面目
  88. 5.2.7 数据单元层次图
  89. 5.3 一个KeyValue的历险
  90. 5.3.1 写入
  91. 5.3.2 读出
  92. 5.4 Region的定位
  93. 第6章 ◄ 客户端API的高阶用法 ►
  94. 6.1 过滤器
  95. 6.1.1 过滤器快速入门
  96. 6.1.2 比较运算快速入门
  97. 6.1.3 分页过滤器
  98. 6.1.4 过滤器列表
  99. 6.1.5 行键过滤器
  100. 6.1.6 列过滤器
  101. 6.1.7 单元格过滤器
  102. 6.1.8 装饰过滤器
  103. 6.1.9 自定义过滤器
  104. 6.1.10 如何在hbase shell中使用过滤器
  105. 6.2 协处理器
  106. 6.2.1 协处理器家族
  107. 6.2.2 快速入门
  108. 6.2.3 如何加载
  109. 6.2.4 协处理器核心类
  110. 6.2.5 观察者
  111. 6.2.6 终端程序
  112. 第7章 ◄ 客户端API的管理功能 ►
  113. 7.1 列族管理
  114. 7.2 表管理
  115. 7.3 Region管理
  116. 7.4 快照管理
  117. 7.5 维护工具管理
  118. 7.5.1 均衡器
  119. 7.5.2 规整器
  120. 7.5.3 目录管理器
  121. 7.6 集群状态以及负载(ClusterStatus & ServerLoad)
  122. 7.7 Admin的其他方法
  123. 7.8 可见性标签管理
  124. 7.8.1 快速入门
  125. 7.8.2 可用标签
  126. 7.8.3 用户标签
  127. 7.8.4 单元格标签
  128. 第8章 ◄ 再快一点 ►
  129. 8.1 Master和RegionServer的JVM调优
  130. 8.1.1 先调大堆内存
  131. 8.1.2 可怕的Full GC
  132. 8.1.3 Memstore的专属JVM策略MSLAB
  133. 8.2 Region的拆分
  134. 8.2.1 Region的自动拆分
  135. 8.2.2 Region的预拆分
  136. 8.2.3 Region的强制拆分
  137. 8.2.4 推荐方案
  138. 8.2.5 总结
  139. 8.3 Region的合并
  140. 8.3.1 通过Merge类合并Region
  141. 8.3.2 热合并
  142. 8.4 WAL的优化
  143. 8.5 BlockCache的优化
  144. 8.5.1 LRUBlock Cache
  145. 8.5.2 SlabCache
  146. 8.5.3 Bucket Cache
  147. 8.5.4 组合模式
  148. 8.5.5 总结
  149. 8.6 Memstore的优化
  150. 8.6.1 读写中的Memstore
  151. 8.6.2 Memstore的刷写
  152. 8.6.3 总结
  153. 8.7 HFile的合并
  154. 8.7.1 合并的策略
  155. 8.7.2 compaction的吞吐量限制参数
  156. 8.7.3 合并的时候HBase做了什么
  157. 8.7.4 Major Compaction
  158. 8.7.5 总结
  159. 8.8 诊断手册
  160. 8.8.1 阻塞急救
  161. 8.8.2 朱丽叶暂停
  162. 8.8.3 读取性能调优
  163. 8.8.4 案例分析
  164. 第9章 ◄ 当HBase遇上MapReduce ►
  165. 9.1 为什么要用MapReduce
  166. 9.2 快速入门
  167. 9.3 慢速入门:编写自己的MapReduce
  168. 9.3.1 准备数据
  169. 9.3.2 新建项目
  170. 9.3.3 建立MapReduce类
  171. 9.3.4 建立驱动类
  172. 9.3.5 打包、部署、运行
  173. 9.4 相关类介绍
  174. 9.4.1 TableMapper
  175. 9.4.2 TableReducer
  176. 9.4.3 TableMapReduceUtil
载入中

热门划线

  1. 列只有在你插入第一条数据的时候才会生成。不过确切地说,不能叫“生成”,因为并没有生成列定义之类的操作。你只是向HBase中插入了一个单元格,而这个单元格是由表:列族:行:列来定位的,所以是你在TableA中插入了一个单元格,这个单元格的列属性叫A,才让这行数据有了一个 A列,而别的行有没有A列HBase并不知道。只有在HBase遍历到这行的时候它才会知道该行是否有这个列。4 人
  2. 如此复杂的存储结构和分布式的存储方式带来的代价就是:哪怕只是存储少量数据,它也不会很快。所以我常常跟人说:HBase并不快,只是当数据量很大的时候它慢的不明显2 人
  3. HBase并不快,只是当数据量很大的时候它慢的不明显2 人
  4. 一般一个HBase集群有一个Master服务器和几个RegionServer服务器。Master服务器负责维护表结构信息,实际的数据都存储在RegionServer服务器上2 人
  5. 列族存在的意义是:HBase会把相同列族的列尽量放在同一台机器上,所以说,如果想让某几个列被放到一起,你就给他们定义相同的列族。2 人
  6. 列并不是依附于表上,而是依附于列族上2 人
  7. HBase的所有数据属性都是定义在列族上的。同一个表的不同列族可以定义完全不同的两套属性2 人
  8. 不过要知道NAME这个属性表示的是列族的名称,而不是表的名称,而且后面的所有属性都是针对列族的而不是针对表的。2 人
  9. 清空表内数据,但是保留表的属性2 人
  10. 这个ResultScanner就像关系型数据库中的ResultSet一样是也是需要持续占用资源的,所以用完后务必要记得关闭它:2 人

喜欢这本书的人也喜欢