HBase权威指南:大数据分布式存储实战

需积分: 9 18 下载量 97 浏览量 更新于2024-07-25 收藏 5.56MB PDF 举报
"HBase The Definitive Guide 是一本由 Lars George 撰写的关于 HBase 的详细指南。这本书深入探讨了 HBase 如何与 Hadoop 高度集成,实现大规模数据分布式存储,并提供了多种访问 HBase 的方式,包括 Java 客户端、REST、Avro 和 Thrift API。书中还涵盖了 HBase 的内部架构,如存储格式、预写日志(WAL)、后台进程等,以及如何利用 Hadoop 的 MapReduce 进行海量数据处理。此外,读者将学习到如何管理和优化 HBase 集群,设计模式,复制表,批量导入数据,删除节点等实际操作任务。" HBase 是一个基于 Google Bigtable 模型构建的开源非关系型数据库,特别适合处理大规模的数据。其核心特性之一是与 Hadoop 生态系统的紧密集成,这使得 HBase 能够轻松地在大量廉价商业服务器上扩展,提供高可用性和高性能的数据存储解决方案。 在 Hadoop 集成方面,HBase 利用 HDFS(Hadoop 分布式文件系统)作为底层存储,确保数据的容错性和持久性。HBase 的可伸缩性主要通过水平扩展实现,即将大型数据集分布式到众多节点上,每个节点都存储部分数据,这样可以有效地处理PB级别的数据。 HBase 提供了多种访问接口,包括原生的 Java 客户端,这对于开发人员来说是最直接和最高效的。同时,为了支持非 Java 环境下的应用,HBase 通过网关服务器提供了 REST、Avro 和 Thrift 应用编程接口,使得其他语言(如 Python、PHP 或者 C++)的应用也能方便地与 HBase 交互。 书中详细介绍了 HBase 的架构细节,比如它的存储格式——每个表被划分为多个 Region,每个 Region 又由多个 Store 组成,每个 Store 内部包含 HFile 和 MemStore。预写日志(Write Ahead Log,WAL)用于保证数据的一致性和可靠性,即使在系统崩溃时也能恢复未写入磁盘的数据。 HBase 还利用 Hadoop 的 MapReduce 框架进行大数据的批处理。用户可以通过编写 MapReduce 作业对 HBase 表中的数据进行复杂的分析和处理,例如聚合、过滤等操作。 在管理与优化方面,书中涵盖了如何调整集群配置以适应不同的工作负载,如何设计模式以优化读写性能,以及如何执行表的复制和批量导入数据。此外,还讨论了如何处理节点故障,确保集群的稳定运行。 《HBase The Definitive Guide》是一本全面介绍 HBase 的权威指南,无论是对于初学者还是有经验的开发人员,都能从中获取深入的理解和实用的操作指导,从而更好地利用 HBase 解决大数据存储和处理问题。
2018-08-08 上传
Early Release If you’re looking for a scalable storage solution to accommodate a virtually endless amount of data, this updated edition shows you how Apache HBase can meet your needs. Modeled after Google’s BigTable architecture, HBase scales to billions of rows and millions of columns, while ensuring that write and read performance remain constant. Fully revised for HBase 1.0, this second edition brings you up to speed on the new HBase client API, as well as security features and new case studies that demonstrate HBase use in the real world. Whether you just started to evaluate this non-relational database, or plan to put it into practice right away, this book has your back. Launch into basic, advanced, and administrative features of HBase’s new client-facing API Use new classes to integrate HBase with Hadoop’s MapReduce framework Explore HBase’s architecture, including the storage format, write-ahead log, and background processes Dive into advanced usage, such extended client and server options Learn cluster sizing, tuning, and monitoring best practices Design schemas, copy tables, import bulk data, decommission nodes, and other tasks Go deeper into HBase security, including Kerberos and encryption at rest Table of Contents Chapter 1. Introduction Chapter 2. Installation Chapter 3. Client API: The Basics Chapter 4. Client API: Advanced Features Chapter 5. Client API: Administrative Features Chapter 6. Available Clients Chapter 7. Hadoop Integration Appendix A. Upgrade from Previous Releases

org.apache.hadoop.hbase.DoNotRetryIOException: Unable to load configured region split policy 'org.apache.phoenix.schema.MetaDataSplitPolicy' for table 'SYSTEM.CATALOG' Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks at org.apache.hadoop.hbase.util.TableDescriptorChecker.warnOrThrowExceptionForFailure(TableDescriptorChecker.java:296) at org.apache.hadoop.hbase.util.TableDescriptorChecker.sanityCheck(TableDescriptorChecker.java:109) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2025) at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:657) at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318) org.apache.hadoop.hbase.DoNotRetryIOException: Unable to load configured region split policy 'org.apache.phoenix.schema.MetaDataSplitPolicy' for table 'SYSTEM.CATALOG' Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks at org.apache.hadoop.hbase.util.TableDescriptorChecker.warnOrThrowExceptionForFailure(TableDescriptorChecker.java:296) at org.apache.hadoop.hbase.util.TableDescriptorChecker.sanityCheck(TableDescriptorChecker.java:109) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2025) at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:657) at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

2023-07-14 上传