HBase入门教程:基于Hadoop的分布式列式数据库

需积分: 10 5 下载量 194 浏览量 更新于2024-07-16 收藏 1.61MB PDF 举报
HBase中文教程是一份针对Hadoop生态系统中用于处理大规模、非结构化数据的分布式列式数据库的详细介绍。教程的作者MaxsuJava分享了这个资源,它主要基于 Yiibai 网站的教程内容,适合那些希望深入理解HBase特性和应用场景的学习者。 HBase作为Hadoop的一部分,是在Hadoop分布式文件系统(HDFS)基础上构建的,特别针对大数据场景设计,尤其擅长随机访问和实时处理。与传统的关系型数据库不同,HBase采用了类似谷歌BigTable的设计,支持水平扩展,能够高效地存储和处理海量数据,例如日志、社交网络数据等。 Hadoop的局限性在于其批处理特性,只支持顺序访问数据,对于需要随机访问的场景效率较低。为了解决这个问题,产生了像HBase这样的工具,它们允许快速查找和操作单个数据行,这对于实时查询和数据分析非常重要。HBase通过使用哈希表和索引技术,能够在HDFS中提供高效的随机访问性能,同时保持数据的容错性。 HBase的核心特点包括: 1. **分布式存储**:基于HDFS的分布式架构,确保数据的高可用性和可扩展性。 2. **列式存储**:数据按照列族组织,每个列族包含多个列,列值在磁盘上是连续存储的,有利于快速定位特定列的值。 3. **列族与列**:表由行和列族组成,列族是具有相同属性的列集合,提供了灵活的数据结构。 4. **随机访问**:与HDFS的顺序访问不同,HBase支持低延迟的随机读写,非常适合实时数据处理。 5. **无批处理**:HBase专注于提供即时响应,没有明确的批处理概念,更适合对延迟敏感的应用场景。 学习HBase意味着掌握如何在大数据环境中管理结构化数据,优化查询性能,以及理解如何在Hadoop生态系统中有效地整合HDFS和HBase。这份教程提供了深入理解HBase操作、配置和使用场景的基础,对大数据工程师和分析人员来说是一项有价值的资源。

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 上传

23/07/23 16:19:48 ERROR AsyncProcess: Failed to get region location org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:241) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:214) at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:364) at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:338) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:137) at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer at org.apache.hadoop.hbase.protobuf.RequestConverter.buildRegionSpecifier(RequestConverter.java:1041) at org.apache.hadoop.hbase.protobuf.RequestConverter.buildScanRequest(RequestConverter.java:492) at org.apache.hadoop.hbase.client.ClientSmallReversedScanner$SmallReversedScannerCallable.call(ClientSmallReversedScanner.java:291) at org.apache.hadoop.hbase.client.ClientSmallReversedScanner$SmallReversedScannerCallable.call(ClientSmallReversedScanner.java:276) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:212) ... 7 more

2023-07-24 上传