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

MYSQL與MARIADB學習手冊

by Russell J.T. Dyer

如果您是一位剛接觸資料庫的程式設計師,或者是剛開始用MySQL/MariaDB的新手,本書是您最好的指引。這本實戰指南以簡單易懂的方式說明如何安裝、使用和維護這個資料庫系統。作者Russell Dyer是MariaDB的課程經理,之前是MySQL知識庫的編輯,將透過真實的範例,帶領您學習資料庫設計與資料庫系統管理及操作的知識,並提供練習讓您驗證所學。 .建立與修改資料庫表格、欄位、資料 .了解如何插入、選取、更新與查詢資料 .透過內建的字串函數來查詢、提取、格式化與轉換資料表中的文字 .學習使用內建的數學、統計、日期與時間處理函數 .管理使用者帳戶、備份資料庫與匯入大量資料 .使用PHP或其他程式透過API連接與存取MySQL或MariaDB Russell J.T. Dyer是一位自由撰稿人,目前任職於MariaDB Ab,之前是MySQL知識庫的編輯。著有《MySQL in a Nutshell》,在《Linux Journal》、ONLamp.com、《The …

book

云原生:运用容器、函数计算和数据构建下一代应用

by Boris Scholl, Trent Swanson, Peter Jausovec

开发者们刚开始接触云端服务开发的时候或多或少都会遇到一些障碍。既要学习分布式系统的知识,又要熟悉像容器和函数计算这样的新技术,还要综合运用这些知识来构建云原生应用实在是件令人望而生畏的事情。本书可以帮助你掌握构建云原生应用的方法,比如消息通信、事件通知和DevOps等。 本书介绍了构建现代云原生应用的架构模块。你将学会如何使用微服务、容器、无服务器架构、函数计算等技术,并挑选合适的存储类型,同时考虑可移植性等问题。你会从云原生应用的基础知识开始,一步步地了解设计、开发和运维云原生应用的整个过程。 探讨设计云原生应用所需的技术。 介绍容器和函数计算的区别,并学习它们的适用场景。 有针对性地设计应用来满足数据相关的需求。 学习DevOps的基础知识和一些开发、测试、运维实践。 学习一些构建和管理云原生应用的技巧、方法和实践。 理解构建一个具有可移植性的应用所需的代价,并且学会对需求做出取舍。

book

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

by Mike Julian

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