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

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

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

持續交付|使用Java

by Daniel Bryant, Abraham Marín-Pérez

將程式部署至生產環境的必備工具與最佳做法 “除了《Effective Java 3rd Edition》外,這本書是我的每位工程師都會購買的書籍,而且它將帶來千倍的回報!” —Martijn Verburg jClarity與LJC Leader CEO “Daniel與Abraham在本書廣泛探討大量的雲端基礎元件,以及持續交付的相關技術。對任何想要成為專業雲端Java開發者的人來說,這本書是他們的首選。” —Ben Evans 作者與諮詢CTO 持續交付已經為業界及整個軟體交付生命週期帶來巨大的價值,但是想要採取這種做法,代表開發者必須掌握新的、在舒適圈以外的技術。在這本實用書籍中,二位作者教導Java開發者掌握架構設計、自動品保、應用程式包裝以及在各種平台上進行部署的技巧。 ‧了解持續交付的核心概念,以及如何開始及完成改用這種技術的旅程 …