HBase应用架构

Book description

当对大量数据构建索引的时候,HBase是一个出色的工具,但是从零开始学习分布式数据库及其生态系统是一件让人望而却步的事情。通过手把手的指导和对真实环境中案例的阐释,你将学会如何架构、设计,以及部署你自己的HBase应用程序。除了HBase原理和集群部署指南之外,本书通过对案例的深入研究,展示了大型企业如何利用HBase解决具体问题的用例。

本书提供了基本的解决方案和代码示例来帮助你实现自己的用例,包括主数据管理(MDM)和文件系统,以及准实时事件处理。你也能学习使用故障排除的方法来帮你避免部署时出现的一些问题。

  • 学习HBase能用来做什么,其生态系统包括哪些组件以及如何搭建你的环境。
  • 探索现实世界中HBase实例如何部署并投入生产环境。
  • 查验用于追踪监控索赔的记录用例,并诊断数据管理以及产品质量。
  • 理解HBase如何和Spark、kafka、MapReduce,以及Java API一起使用。
  • 学习如何识别最常见的HBase问题,并理解其结果。

Table of contents

  1. 封面
  2. 版权页
  3. O'Reilly介绍
  4. 译者序
  5. 目录 (1/2)
  6. 目录 (2/2)
  7. 前言
    1. 本书的读者对象?
    2. 本书结构
    3. 额外的资源
    4. 排版约定
    5. 使用代码示例
    6. Safari在线图书
    7. 如何联系我们
    8. 致谢
    9. 来自Kevin
    10. 来自Jean-Marc
  8. 第一部分 HBase概述
    1. 第1章 什么是HBase
      1. 面向列与面向行
      2. 实现和使用示例
    2. 第2章 HBase原理
      1. 表格式列族
        1. 表排版
        2. 表存储
      2. 表的内部操作
        1. 合并
        2. 分裂(自动分片)
        3. 均衡
      3. 依赖
      4. HBase 角色
        1. Master 服务器
        2. RegionServer
        3. Thrift Server
        4. REST Server
    3. 第3章 HBase生态系统
      1. 监控工具
        1. Cloudera Manager
        2. Apache Ambari
        3. Hannibal
      2. SQL
        1. Apache Phoenix
        2. Apache Trafodion
        3. Splice Machine
        4. 值得一提 (Kylin, Themis, Tephra, Hive和Impala)
      3. 框架
        1. OpenTSDB
        2. Kite
        3. HappyBase
        4. AsyncHBase
    4. 第4章 HBase规模预估和调优概述
      1. 硬件
      2. 存储
      3. 网络
      4. 操作系统调优
      5. Hadoop调优
      6. HBase调优
      7. 负载不均调优
    5. 第5章 环境设置
      1. 系统要求
        1. 操作系统
        2. 虚拟机
        3. 资源
        4. Java
      2. HBase单机安装
      3. 虚拟机中的HBase
      4. 本地与VM
        1. 本地模式
        2. 虚拟Linux环境
        3. 快速启动虚拟机(或类似)
      5. 故障排除
        1. IP/Name配置
        2. 访问/tmp文件夹
        3. 环境变量
        4. 可用内存
      6. 第一步 (1/2)
      7. 第一步 (2/2)
        1. 基本操作
        2. 代码导入实例
        3. 测试实例
      8. 伪分布式模式和全分布式模式
  9. 第二部分 用例
    1. 第6章 用例:HBase作为一个记录系统
      1. 摄取/预处理
      2. 处理/服务
      3. 用户体验
    2. 第7章 底层存储引擎的实现
      1. 表设计
        1. 表结构设计
        2. 表参数
        3. 实现
      2. 数据转换 (1/2)
      3. 数据转换 (2/2)
        1. 生成测试数据
        2. 创建Avro文件格式
        3. 实现MapReduce的转换
      4. HFile校验
      5. 批量加载
        1. 数据校验
        2. 表大小
        3. 文件内容
      6. 数据索引
      7. 数据检索
      8. 更进一步
    3. 第8章 用例:近实时事件处理
      1. 摄取/预处理
      2. 近实时事件处理
      3. 处理/服务
    4. 第9章 近实时实现事件处理
      1. 应用流
        1. Kafka
        2. Flume
        3. HBase
        4. Lily
        5. Solr
      2. 实施 (1/4)
      3. 实施 (2/4)
      4. 实施 (3/4)
      5. 实施 (4/4)
        1. 数据生成
        2. Kafka
        3. Flume
        4. 序列化器
        5. HBase
        6. 预先分割表
        7. Lily
        8. Solr
        9. 测试
      6. 进一步
    5. 第10章 用例:HBase作为
      1. 摄取
      2. 处理
    6. 第11章 主数据管理工具HBase的实现
      1. MapReduce与Spark
      2. Spark与HBase交互
        1. 在HBase Table运行Spark
        2. 从Spark调用HBase
      3. Spark结合HBase实现 (1/2)
      4. Spark结合HBase实现 (2/2)
        1. Spark与HBase: Puts
        2. Spark与HBase: Bulk Load
        3. Spark与HBase
      5. 进一步
    7. 第12章 用例:文档存储
      1. 数据服务
      2. 数据摄取
      3. 清理
    8. 第13章 文档存储的实现
      1. MOB
        1. 存储
        2. 用法
        3. 太大
      2. 数据一致性
      3. 进一步
  10. 第三部分 疑难问题的定位和排错
    1. 第14章 region过多
      1. 后果
      2. 原因
        1. 配置错误
        2. 误操作
      3. 解决方案 (1/2)
      4. 解决方案 (2/2)
        1. 0.98之前的版本
        2. 自0.98版本起
      5. 防范
        1. region的大小
        2. 键和表设计
    2. 第15章 列族过多
      1. 后果
        1. 内存
        2. 合并
        3. 分裂
      2. 原因、解决方案和预防
        1. 删除列族
        2. 合并列族
        3. 将一个列族分离到一个新表中
    3. 第16章 热点
      1. 后果
      2. 原因
        1. 单调递增的行键
        2. 行键分布不合理
        3. 引用表较小
        4. 应用问题
        5. Meta Region热点
      3. 防范和解决方案
    4. 第17章 超时和垃圾回收
      1. 后果
      2. 原因
        1. 存储失败
        2. 节能功能
        3. 网络错误
      3. 解决方案
      4. 预防
        1. 减小堆大小
        2. 堆外读缓存
        3. 使用G1的GC算法
        4. 配置Swappiness为0或者1
        5. 128GB服务器内存分配示例
        6. 禁用环境友好功能
        7. 硬件复制
    5. 第18章 HBCK和不一致
      1. HBase文件系统布局
      2. 查看META表
      3. 在HDFS上查看HBase
      4. HBCK概述
      5. 使用HBCK
  11. 作者介绍
  12. 封面介绍

Product information

  • Title: HBase应用架构
  • Author(s): Jean-Marc Spaggiari, Kevin O'Dell
  • Release date: September 2017
  • Publisher(s): China Electric Power Press Ltd.
  • ISBN: 9787519811211

You might also like

book

微服务与事件驱动架构

by Adam Bellemare

如今,许多公司常常难以在业务需求和不断增长的数据量之间找到平衡。随着各行各业积极拥抱数字化转型,对大规模实时数据的利用需求正在快速增长,传统的系统架构再也无法承担重任。 本书为构建事件驱动型微服务提供了实用框架。通过本书,你将学习如何根据事件驱动型微服务的原则跨业务部门利用大数据,从而提高服务的可伸缩性和可测试性,让技术选型更灵活,更轻松地应对不断变化的业务需求,真正实现持续交付。 如何利用事件驱动架构更好地实现商业价值 微服务在事件驱动架构设计中的角色 确保团队取得成功的架构模式 开发强大的事件驱动型微服务所需的应用模式 落地微服务生态系统所需的组件和工具

book

Criptoeconomía

by Teodoro García Egea

Para muchas personas, la criptoeconomía consiste en un nuevo concepto tecnológico-financiero que trata sobre cómo invertir …

book

监控运维实践:原则与策略

by Mike Julian

如今监控领域的形势和几年前大不相同,微服务架构的流行给监控带来了新的问题。你是否觉得你的监控系统需要改进,但不确定从哪里开始或如何开始?你是否受到持续不断、毫无意义的告警困扰?你的监控系统是否经常遗漏真正的问题?如果是这样,那么本书非常适合你。 本书从监控的原则和策略入手,介绍了一种设计和实现有效监控的实用方法,该方法适用于企业应用程序、服务器、网络、安全等。作者不仅通过真实示例介绍了监控设计模式,还阐释了监控的反模式,并且提供了关于特定类型监控的建议。本书对于了解、研究监控,以及实现现代化的监控,具有指导意义。 本书涵盖的核心主题包括: 监控反模式 监控设计模式 如何建立有效的待命值班制度 监控什么、为什么要监控以及如何监控

book

RxJava反应式编程

by Tomasz Nurkiewicz, Ben Christensen

如今,移动App驱动着我们的生活,程序的异步性和响应式至关重要。反应式编程技术能够帮助我们编写易于扩展、性能良好且可靠性强的代码。在这本注重实战的图书中,Java开发人员首先将会学习如何以反应式的方式看待问题,然后再借助这一令人兴奋的编程范式的优秀特性构建程序。 本书包含了一些使用RxJava的具体样例,用来解决Android设备和服务器端的实际性能问题。你将会学到RxJava如何借助并行和并发解决当前的问题。本书还特别收录了2.0版本的基本情况。 编写对多个异步源输入进行响应的程序,避免陷入“回调地狱” 理解如何以反应式的方式解决问题 处理Observable生产数据太快的问题 探索调试和测试反应式程序的策略 在程序中高效利用并行和并发 学习如何迁移至RxJava 2.0版本