Hbase数据库基础操作与实验报告

需积分: 0 0 下载量 50 浏览量 更新于2024-08-05 收藏 514KB DOCX 举报
"Hbase的使用" HBase是一个开源的分布式列式存储系统,它是构建在Apache Hadoop文件系统(HDFS)之上的,专为大数据设计。HBase提供了高可靠性、高性能、可伸缩的数据存储解决方案,适用于非结构化和半结构化的数据,如日志、元数据、网页分析数据等。 在云存储领域,HBase因其能够处理PB级别的数据而备受青睐。它支持实时读写,并且可以进行水平扩展,即通过增加更多的服务器来提升处理能力。HBase的核心概念包括表、行、列族和时间戳。表格是数据组织的基本单元,由行和列族组成;行由行键标识,列族内则包含一系列列,每个列都有一个时间戳,这种设计使得HBase在大数据场景下能快速查询和更新数据。 在实验环境中,通常需要五台独立的PC机或虚拟机来模拟HBase的分布式环境。每台机器至少需要2GB的内存和50GB的磁盘空间,操作系统应为CentOS 7.4 64位,同时确保所有主机间有有效的网络连接,以及已配置好网络属性。此外,JDK需要预先安装,且Hadoop完全分布式模式已经搭建完成,以便为HBase提供底层的数据存储支持。 HBase的部署通常包括主节点(Master)和Region服务器。主节点负责表的管理、 Region分配和故障恢复,而Region服务器则实际存储和处理数据。在本实验中,五台机器将分别扮演这些角色,形成一个简单的HBase集群。为了运行HBase的1.2.3版本,需要下载名为hbase-1.2.3-bin.tar.gz的软件包并进行解压和安装。 实验的主要目标是让学生掌握数据库的基本操作,包括创建、删除数据库,创建和管理表,以及插入、查询和更新数据。此外,还要熟悉HBase特有的命令行工具,例如HBase shell,用于执行HBase的SQL-like语句,如创建表、添加列族、插入数据和扫描表等操作。通过这些实践,学生将能够更好地理解和应用HBase在云存储中的功能。 为了达到实验要求,学生不仅需要理解HBase的理论知识,还要通过编写和执行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 上传