本附录描述了早期版本的 HBase 与 HBase 2.0 的不兼容更改。此列表并不意味着完全包含所有可能的不兼容性。相反,这些内容旨在深入了解大多数用户将从 HBase 1.x 版本中遇到的一些明显的不兼容性。

203.1。 HBase 2.0 的主要变更清单

  • HBASE-1912-HBCK 是用于捕获不一致性的 HBase 数据库检查工具。作为 HBase 管理员,您不应使用 HBase 1.0 版 hbck 工具来检查 HBase 2.0 数据库。这样做会破坏数据库并引发异常错误。

  • HBASE-16189 和 HBASE-18945-您无法通过 HBase 1.0 版本打开 HBase 2.0 hfiles。如果您是使用 HBase 版本 1.x 的管理员或 HBase 用户,则必须先滚动升级到最新版本的 HBase 1.x,然后再升级到 HBase 2.0。

  • HBASE-18240 - 更改了 ReplicationEndpoint 接口。它还引入了一个新的 hbase-third party 1.0,它打包了所有第三方实用程序,这些实用程序预计将在 hbase 集群中运行。

203.2。协处理器 API 更改

  • HBASE-16769 - 来自 MasterObserver 和 RegionServerObserver 的不推荐的 PB 引用。

  • HBASE-17312 - [JDK8]使用 Observer 协处理器的默认方法。 BaseMasterAndRegionObserver,BaseMasterObserver,BaseRegionObserver,BaseRegionServerObserver 和 BaseWALObserver 的接口类使用 JDK8 的'default'关键字来提供空的和无操作的实现。

  • 接口 HTableInterface HBase 2.0 对下面列出的方法进行了以下更改:

203.2.1。 [ - ]接口协处理器环境变化(2)

更改 结果
抽象方法 getTable(TableName)已被删除。 NoSuchMethodError 异常可能会中断客户端程序。
抽象方法 getTable(TableName,ExecutorService)已被删除。 A client program may be interrupted by NoSuchMethodError exception.
  • 公众观众

下表描述了协处理器的更改。

[ - ]类 CoprocessorRpcChannel(1)
Change Result
这个类已成为界面。 IncompatibleClassChangeError 或 InstantiationError 异常可能会中断客户端程序,具体取决于此类的用法。
类 CoprocessorHost

Audience Private 但已删除的类。

Change Result
字段协处理器的类型已从 java.util.SortedSet <e>更改为 org.apache.hadoop.hbase.util.SortedList <e>。</e></e> NoSuchFieldError 异常可能会中断客户端程序。

203.2.2。 MasterObserver

HBase 2.0 引入了对 MasterObserver 接口的以下更改。

[ - ]界面 MasterObserver(14)
Change Result
已从此界面中删除抽象方法 voidpostCloneSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpostCreateTable(ObserverContext <mastercoprocessorenvironment>,HTableDescriptor,HRegionInfo [])。</mastercoprocessorenvironment> NoSuchMethodErrorexception 可能会中断客户端程序。
已从此界面中删除抽象方法 voidpostDeleteSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此接口中删除抽象方法 voidpostGetTableDescriptors(ObserverContext <mastercoprocessorenvironment>,List <htabledescriptor>)。</htabledescriptor></mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此接口中删除抽象方法 voidpostModifyTable(ObserverContext <mastercoprocessorenvironment>,TableName,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpostRestoreSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpostSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpreCloneSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此接口中删除抽象方法 voidpreCreateTable(ObserverContext <mastercoprocessorenvironment>,HTableDescriptor,HRegionInfo [])。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpreDeleteSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此接口中删除抽象方法 voidpreGetTableDescriptors(ObserverContext <mastercoprocessorenvironment>,List <tablename>,List <htabledescriptor>)。</htabledescriptor></tablename></mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此接口中删除抽象方法 voidpreModifyTable(ObserverContext <mastercoprocessorenvironment>,TableName,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpreRestoreSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.
已从此界面中删除抽象方法 voidpreSnapshot(ObserverContext <mastercoprocessorenvironment>,HBaseProtos.SnapshotDescription,HTableDescriptor)。</mastercoprocessorenvironment> A client program may be interrupted by NoSuchMethodErrorexception.

203.2.3。 RegionObserver

HBase 2.0 引入了对 RegionObserver 接口的以下更改。

[ - ] interface RegionObserver(13)
Change Result
已从此界面中删除抽象方法 voidpostCloseRegionOperation(ObserverContext <regioncoprocessorenvironment>,HRegion.Operation)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 voidpostCompactSelection(ObserverContext <regioncoprocessorenvironment>,Store,ImmutableList <storefile>)。</storefile></regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpostCompactSelection(ObserverContext <regioncoprocessorenvironment>,Store,ImmutableList <storefile>,CompactionRequest)。</storefile></regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 voidpostGetClosestRowBefore(ObserverContext <regioncoprocessorenvironment>,byte [],byte [],Result)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除了抽象方法 DeleteTrackerpostInstantiateDeleteTracker(ObserverContext <regioncoprocessorenvironment>,DeleteTracker)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpostSplit(ObserverContext <regioncoprocessorenvironment>,HRegion,HRegion)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpostStartRegionOperation(ObserverContext <regioncoprocessorenvironment>,HRegion.Operation)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 StoreFile.ReaderpostStoreFileReaderOpen(ObserverContext <regioncoprocessorenvironment>,FileSystem,Path,FSDataInputStreamWrapper,long,CacheConfig,Reference,StoreFile.Reader)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpostWALRestore(ObserverContext <regioncoprocessorenvironment>,HRegionInfo,HLogKey,WALEdit)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除了抽象方法 InternalScannerpreFlushScannerOpen(ObserverContext <regioncoprocessorenvironment>,Store,KeyValueScanner,InternalScanner)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 voidpreGetClosestRowBefore(ObserverContext <regioncoprocessorenvironment>,byte [],byte [],Result)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 StoreFile.ReaderpreStoreFileReaderOpen(ObserverContext <regioncoprocessorenvironment>,FileSystem,Path,FSDataInputStreamWrapper,long,CacheConfig,Reference,StoreFile.Reader)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 voidpreWALRestore(ObserverContext <regioncoprocessorenvironment>,HRegionInfo,HLogKey,WALEdit)。</regioncoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.

203.2.4。 WALObserver

HBase 2.0 引入了对 WALObserver 接口的以下更改。

[ - ]界面 WALObserver
Change Result
已从此界面中删除抽象方法 voidpostWALWrite(ObserverContext <walcoprocessorenvironment>,HRegionInfo,HLogKey,WALEdit)。</walcoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 booleanpreWALWrite(ObserverContext <walcoprocessorenvironment>,HRegionInfo,HLogKey,WALEdit)。</walcoprocessorenvironment> A client program may be interrupted by NoSuchMethodError exception.

203.2.5。杂

HBase 2.0 引入了以下类的更改:

hbase-server-1.0.0.jar,OnlineRegions.class 包 org.apache.hadoop.hbase.regionserver

[ - ] OnlineRegions.getFromOnlineRegions(String p1)[abstract]:HRegion

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ OnlineRegions.getFromOnlineRegions:(Ljava /郎/字符串;)Lorg /阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ HRegion;

Change Result
返回值类型已从 Region 更改为 Region。 此方法已被删除,因为返回类型是方法签名的一部分。 NoSuchMethodError 异常可能会中断客户端程序。

hbase-server-1.0.0.jar,RegionCoprocessorEnvironment.class 包 org.apache.hadoop.hbase.coprocessor

[ - ] RegionCoprocessorEnvironment.getRegion()[abstract]:HRegion

组织/阿帕奇/ hadoop 的/ HBase 的/协处理器/ RegionCoprocessorEnvironment.getRegion :()Lorg /阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ HRegion;

Change Result
返回值类型已从 org.apache.hadoop.hbase.regionserver.HRegion 更改为 org.apache.hadoop.hbase.regionserver.Region。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.

hbase-server-1.0.0.jar,RegionCoprocessorHost.class 包 org.apache.hadoop.hbase.regionserver

[ - ] RegionCoprocessorHost.postAppend(追加追加,结果结果):void

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ RegionCoprocessorHost.postAppend:(Lorg /阿帕奇/ hadoop 的/ HBase 的/客户端/追加; Lorg /阿帕奇/ hadoop 的/ HBase 的/客户/结果;)V

Change Result
返回值类型已从 void 更改为 org.apache.hadoop.hbase.client.Result。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
[ - ] RegionCoprocessorHost.preStoreFileReaderOpen(FileSystem fs,Path p,FSDataInputStreamWrapper in,long size,CacheConfig cacheConf,Reference r):StoreFile.Reader

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ RegionCoprocessorHost.preStoreFileReaderOpen:(Lorg /阿帕奇/ hadoop 的/ FS /文件系统; Lorg /阿帕奇/ hadoop 的/ FS /路径; Lorg /阿帕奇/ hadoop 的/ HBase 的/ IO / FSDataInputStreamWrapper; JLorg /阿帕奇/ hadoop 的/ HBase 的/ IO / HFILE / CacheConfig; Lorg /阿帕奇/ hadoop 的/ HBase 的/ IO /参考)Lorg /阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/ StoreFile $阅读器;

Change Result
返回值类型已从 StoreFile.Reader 更改为 StoreFileReader。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.

203.2.6。 IPC

203.2.7。调度程序更改:

  1. 以下方法变得抽象:

包 org.apache.hadoop.hbase.ipc

[ - ] class RpcScheduler(1)
Change Result
抽象方法 void dispatch(CallRunner)已从此类中删除。 A client program may be interrupted by NoSuchMethodError exception.

hbase-server-1.0.0.jar,RpcScheduler.class 包 org.apache.hadoop.hbase.ipc

[ - ] RpcScheduler.dispatch(CallRunner p1)[abstract]:void 1

组织/阿帕奇/ hadoop 的/ HBase 的/ IPC / RpcScheduler.dispatch:(Lorg /阿帕奇/ hadoop 的/ HBase 的/ IPC / CallRunner;)V

Change Result
返回值类型已从 void 更改为 boolean。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
  1. 以下摘要方法已被删除:
[ - ] interface PriorityFunction(2)
Change Result
已从此接口中删除了抽象方法 longgetDeadline(RPCProtos.RequestHeader,Message)。 A client program may be interrupted by NoSuchMethodError exception.
抽象方法 int getPriority(RPCProtos.RequestHeader,Message)已从此接口中删除。 A client program may be interrupted by NoSuchMethodError exception.

203.2.8。服务器 API 更改:

[ - ]类 RpcServer(12)
Change Result
字段类型 CurCall 已从 java.lang.ThreadLocal <rpcserver.call>更改为 java.lang.ThreadLocal <rpccall>。</rpccall></rpcserver.call> A client program may be interrupted by NoSuchFieldError exception.
这堂课变得抽象了。 InstantiationError 异常可能会中断客户端程序。
抽象方法 int getNumOpenConnections()已添加到此类中。 此类变为抽象,客户端程序可能会被 InstantiationError 异常中断。
已从此类中删除 org.apache.hadoop.hbase.util.Counter 类型的字段 callQueueSize。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除了类型为 java.util.List <rpcserver.connection>的字段 connectionList。</rpcserver.connection> A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除 int 类型的字段 maxIdleTime。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除 int 类型的字段 numConnections。 A client program may be interrupted by NoSuchFieldError exception.
int 类型的字段端口已从此类中删除。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除了 long 类型的字段 purgeTimeout。 A client program may be interrupted by NoSuchFieldError exception.
RpcServer.Responder 类型的字段响应程序已从此类中删除。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除 int 类型的字段 socketSendBufferSize。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除 int 类型的字段 thresholdIdleConnections。 A client program may be interrupted by NoSuchFieldError exception.

以下摘要方法已被删除:

Change Result
抽象方法 Pair <message>调用(BlockingService,Descriptors.MethodDescriptor,Message,CellScanner,long,MonitoredRPCHandler)已从此界面中删除。</message> A client program may be interrupted by NoSuchMethodError exception.

203.2.9。复制和 WAL 更改:

HBASE-18733:WALKey 已在 HBase 2.0 中完全清除。以下是 WALKey 的更改:

[ - ] classWALKey(8)
Change Result
字段 clusterIds 的访问级别已从 protected 更改为 private。 IllegalAccessError 异常可能会中断客户端程序。
字段 compressionContext 的访问级别已从 protected 更改为 private。 A client program may be interrupted by IllegalAccessError exception.
字段 encodedRegionName 的访问级别已从 protected 更改为 private。 A client program may be interrupted by IllegalAccessError exception.
字段表名的访问级别已从 protected 更改为 private。 A client program may be interrupted by IllegalAccessError exception.
字段 writeTime 的访问级别已从 protected 更改为 private。 A client program may be interrupted by IllegalAccessError exception.

以下字段已被删除:

Change Result
已从此类中删除 org.apache.commons.logging.Log 类型的字段日志。 A client program may be interrupted by NoSuchFieldError exception.
WALKey.Version 类型的字段 VERSION 已从此类中删除。 A client program may be interrupted by NoSuchFieldError exception.
已从此类中删除了 long 类型的字段 logSeqNum。 A client program may be interrupted by NoSuchFieldError exception.

以下是对 WALEdit.class 的更改:hbase-server-1.0.0.jar,WALEdit.class 包 org.apache.hadoop.hbase.regionserver.wal

WALEdit.getCompaction(Cell kv)[静态]:WALProtos.CompactionDescriptor(1)

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/沃尔玛/ WALEdit.getCompaction:(Lorg /阿帕奇/ hadoop 的/ HBase 的/细胞)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ WALProtos $ CompactionDescriptor;

Change Result
返回值类型已从 org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor 更改为 org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
WALEdit.getFlushDescriptor(Cell cell)[静态]:WALProtos.FlushDescriptor(1)

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/沃尔玛/ WALEdit.getFlushDescriptor:(Lorg /阿帕奇/ hadoop 的/ HBase 的/细胞)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ WALProtos $ FlushDescriptor;

Change Result
返回值类型已从 org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor 更改为 org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
WALEdit.getRegionEventDescriptor(Cell cell)[静态]:WALProtos.RegionEventDescriptor(1)

组织/阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/沃尔玛/ WALEdit.getRegionEventDescriptor:(Lorg /阿帕奇/ hadoop 的/ HBase 的/细胞)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ WALProtos $ RegionEventDescriptor;

Change Result
返回值类型已从 org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor 更改为 org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.

以下是对 WALKey.class:package org.apache.hadoop.hbase.wal 的更改

WALKey.getBuilder(WALCellCodec.ByteStringCompressor 压缩器):WALProtos.WALKey.Builder 1

组织/阿帕奇/ hadoop 的/ HBase 的/沃尔玛/ WALKey.getBuilder:(Lorg /阿帕奇/ hadoop 的/ HBase 的/ RegionServer 的/沃尔/ WALCellCodec $ ByteStringCompressor)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ WALProtos $ $ WALKey 助洗剂;

Change Result
返回值类型已从 org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder 更改为 org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey.Builder。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.

203.2.10。不推荐使用的 API 或协处理器:

HBASE-16769 - 已删除 MasterObserver 和 RegionServerObserver 中的 PB 引用。

203.2.11。管理界面 API 更改:

您无法管理 HBase 2.0 群集与 HBase 1.0 客户端,其中包括 Admin ops 的 RelicationAdmin,ACC,Thrift 和 REST 使用。返回 protobufs 的方法已更改为返回 POJO。 pb 不再用于 API 中。异步方法的返回值已从 void 更改为 Future。 HBASE-18106 - Admin.listProcedures 和 Admin.listLocks 重命名为 getProcedures 和 getLocks。 MapReduce 使用 Admin 执行以下 admin.getClusterStatus()来计算 Splits。

  • 管理 API 的节约使用:compact(ByteBuffer)createTable(ByteBuffer,List <columndescriptor>)deleteTable(ByteBuffer)disableTable(ByteBuffer)enableTable(ByteBuffer)getTableNames()majorCompact(ByteBuffer)</columndescriptor>

  • Admin API 的 REST 用法:hbase-rest org.apache.hadoop.hbase.rest RootResource getTableList()TableName [] tableNames = servlet.getAdmin()。listTableNames(); SchemaResource delete(UriInfo)Admin admin = servlet.getAdmin(); update(TableSchemaModel,boolean,UriInfo)Admin admin = servlet.getAdmin(); StorageClusterStatusResource get(UriInfo)ClusterStatus status = servlet.getAdmin()。getClusterStatus(); StorageClusterVersionResource get(UriInfo)model.setVersion(servlet.getAdmin()。getClusterStatus()。getHBaseVersion()); TableResource exists()返回 servlet.getAdmin()。tableExists(TableName.valueOf(table));

以下是对 Admin 界面的更改:

[ - ]界面管理员(9)
Change Result
已从此接口中删除抽象方法 createTableAsync(HTableDescriptor,byte [] [])。 A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 disableTableAsync(TableName)。 A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 enableTableAsync(TableName)。 A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 getCompactionState(TableName)。 A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 getCompactionStateForRegion(byte [])。 A client program may be interrupted by NoSuchMethodError exception.
抽象方法 isSnapshotFinished(HBaseProtos.SnapshotDescription)已从此界面中删除。 A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法 snapshot(String,TableName,HBaseProtos.SnapshotDescription.Type)。 A client program may be interrupted by NoSuchMethodError exception.
已从此界面中删除抽象方法快照(HBaseProtos.SnapshotDescription)。 A client program may be interrupted by NoSuchMethodError exception.
已从此接口中删除抽象方法 takeSnapshotAsync(HBaseProtos.SnapshotDescription)。 A client program may be interrupted by NoSuchMethodError exception.

以下是对 Admin.class 的更改:hbase-client-1.0.0.jar,Admin.class 包 org.apache.hadoop.hbase.client

[ - ] Admin.createTableAsync(HTableDescriptor p1,byte [] [] p2)[abstract]:void 1

组织/阿帕奇/ hadoop 的/ HBase 的/客户端/ Admin.createTableAsync:(Lorg /阿帕奇/ hadoop 的/ HBase 的/ HTableDescriptor; [[B)V

Change Result
返回值类型已从 void 更改为 java.util.concurrent.Future <java.lang.void>。</java.lang.void> This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
[ - ] Admin.disableTableAsync(TableName p1)[abstract]:void 1

组织/阿帕奇/ hadoop 的/ HBase 的/客户端/ Admin.disableTableAsync:(Lorg /阿帕奇/ hadoop 的/ HBase 的/表名;)V

Change Result
Return value type has been changed from void to java.util.concurrent.Future<java.lang.void>.</java.lang.void> This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
Admin.enableTableAsync(TableName p1)[abstract]:void 1

组织/阿帕奇/ hadoop 的/ HBase 的/客户端/ Admin.enableTableAsync:(Lorg /阿帕奇/ hadoop 的/ HBase 的/表名;)V

Change Result
Return value type has been changed from void to java.util.concurrent.Future<java.lang.void>.</java.lang.void> This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
[ - ] Admin.getCompactionState(TableName p1)[abstract]:AdminProtos.GetRegionInfoResponse.CompactionState 1

组织/阿帕奇/ hadoop 的/ HBase 的/客户端/ Admin.getCompactionState:(Lorg /阿帕奇/ hadoop 的/ HBase 的/表名)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ AdminProtos $ $ GetRegionInfoResponse CompactionState;

Change Result
返回值类型已从 org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState 更改为 CompactionState。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
[ - ] Admin.getCompactionStateForRegion(byte [] p1)[abstract]:AdminProtos.GetRegionInfoResponse.CompactionState 1

组织/阿帕奇/ hadoop 的/ HBase 的/客户端/ Admin.getCompactionStateForRegion:([B)Lorg /阿帕奇/ hadoop 的/ HBase 的/ protobuf 的/生成/ AdminProtos $ $ GetRegionInfoResponse CompactionState;

Change Result
Return value type has been changed from org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState to CompactionState. This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.

203.2.12。 HTableDescriptor 和 HColumnDescriptor 发生了变化

HTableDescriptor 和 HColumnDescriptor 已成为接口,您可以通过 Builders 创建它。 HCD 已成为 CFD。它不再实现可写接口。包 org.apache.hadoop.hbase

[ - ]类 HColumnDescriptor(1)
Change Result
删除了超级接口 org.apache.hadoop.io.WritableComparable <hcolumndescriptor>。</hcolumndescriptor> A client program may be interrupted by NoSuchMethodError exception.

HColumnDescriptor in 1.0.0 {code} @ InterfaceAudience.Public @ InterfaceStability.Evolving public class HColumnDescriptor 实现 WritableComparable <hcolumndescriptor>{{code}</hcolumndescriptor>

HColumnDescriptor in 2.0 {code} @ InterfaceAudience.Public @Deprecated //在 3.0 公共类中删除它 HColumnDescriptor 实现 ColumnFamilyDescriptor,Comparable <hcolumndescriptor>{{code}</hcolumndescriptor>

对于 META_TABLEDESC,制造商方法已在 1.0.0 中的 HTD 中弃用。 OWNER_KEY 仍处于 HTD 状态。

类 HTableDescriptor(3)
Change Result
删除了超级接口 org.apache.hadoop.io.WritableComparable <htabledescriptor>。</htabledescriptor> A client program may be interrupted by NoSuchMethodError exception.
已从此类中删除了类型为 HTableDescriptor 的字段 META_TABLEDESC。 A client program may be interrupted by NoSuchFieldError exception.

hbase-client-1.0.0.jar,HTableDescriptor.class 包 org.apache.hadoop.hbase

[ - ] HTableDescriptor.getColumnFamilies():HColumnDescriptor [](1)

组织/阿帕奇/ hadoop 的/ HBase 的/ HTableDescriptor.getColumnFamilies:()[Lorg /阿帕奇/ hadoop 的/ HBase 的/ HColumnDescriptor;

[−] class HColumnDescriptor (1)
Change Result
返回值类型已从 HColumnDescriptor []更改为 client.ColumnFamilyDescriptor []。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
[ - ] HTableDescriptor.getCoprocessors():List <string>(1)</string>

组织/阿帕奇/ hadoop 的/ HBase 的/ HTableDescriptor.getCoprocessors :()Ljava / util 的/列表;

Change Result
返回值类型已从 java.util.List <java.lang.string>更改为 java.util.Collection。</java.lang.string> This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
  • HBASE-12990 删除了 MetaScanner,它被 MetaTableAccessor 取代。
HTableWrapper 更改:

hbase-server-1.0.0.jar,HTableWrapper.class 包 org.apache.hadoop.hbase.client

[ - ] HTableWrapper.createWrapper(List <htableinterface>openTables,TableName tableName,CoprocessorHost.Environment env,ExecutorService pool)[静态]:HTableInterface 1</htableinterface>

组织/阿帕奇/的 Hadoop / HBase 的/客户/ HTableWrapper.createWrapper:(Ljava / UTIL /列表; Lorg /阿帕奇/的 Hadoop / HBase 的/表名; Lorg /阿帕奇/的 Hadoop / HBase 的/协/ CoprocessorHost $环境; Ljava / UTIL /并发/ ExecutorService 的;)Lorg /阿帕奇/ hadoop 的/ HBase 的/客户/ HTableInterface;

Change Result
返回值类型已从 HTableInterface 更改为 Table。 This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
  • HBASE-12586:删除所有公共 HTable 构造函数并删除 ConnectionManager#{delete,get} Connection。

  • HBASE-9117:删除 HTablePool 和所有与