尚硅谷HBase教程:高可靠性大数据存储系统解析

需积分: 10 7 下载量 111 浏览量 更新于2024-07-17 收藏 1.35MB PDF 举报
"尚硅谷大数据之HBase.pdf,一本关于HBase技术的教程,与尚硅谷B站视频配套学习,由尚硅谷大数据研发部编写,详细介绍了HBase的基础知识和特性。" HBase是一个基于Google BigTable理念设计的开源分布式数据库,自2006年开始发展,2010年成为Apache的顶级项目。它专为处理大规模结构化数据而设计,尤其适合存储PB级别的海量数据,并能在短时间内提供数据查询。HBase是构建在Hadoop HDFS(Hadoop分布式文件系统)上的,用以替代Google Bigtable中的GFS,并且依赖于Zookeeper来实现分布式协调,而不是Google的Chubby。 HBase的关键特性包括: 1. **高可靠性**:HBase通过复制机制确保数据的高可用性和容错性。数据会被复制到多个节点,即使部分节点故障,系统仍能继续运行并保证数据的完整性。 2. **高性能**:HBase是为实时读写设计的,即使面对PB级别的数据,也能在数十到数百毫秒内响应查询。这种高性能得益于它的列式存储和分布式架构。 3. **列式存储**:与传统关系型数据库的行式存储不同,HBase采用列族存储,允许用户按需选择需要查询的列,减少不必要的数据传输,提高读取效率。列族可以包含多个列,每个列都有一个唯一的标识符。 4. **可伸缩性**:HBase具有极好的水平扩展性,可以通过增加更多的服务器来增加存储和处理能力。这使得它在处理大数据时非常灵活。 5. **稀疏性**:HBase支持稀疏存储,即对于不存在的数据,不占用存储空间,这使得在大规模数据场景下节省存储资源。 6. **实时性**:HBase支持实时读写操作,这对于需要快速响应的应用场景(如监控、日志分析等)非常有利。 7. **MapReduce支持**:HBase与Hadoop的MapReduce框架紧密集成,可以方便地进行批量处理和分析大数据。 在实际应用中,HBase常用于互联网日志分析、实时监控系统、物联网设备数据存储、搜索引擎索引、基因组学研究等领域。学习和掌握HBase有助于开发人员构建高效的大数据解决方案,特别是在需要处理大量半结构化或非结构化数据的场景下。 为了深入理解HBase,除了阅读文档,还可以结合尚硅谷在B站提供的视频教程进行学习,这样可以从理论和实践两个方面全面掌握HBase的使用。同时,尚硅谷官网还提供了更多关于Java、大数据、前端和Python人工智能的资料,可供进一步学习。

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