Tablestore HBase Client是基于HBase Client的封装,使用方法和HBase Client基本一致,但仍存在一些差别。本文介绍如何从HBase Client迁移到Tablestore HBase Client。
操作步骤
步骤一:引入Tablestore HBase Client依赖
Tablestore HBase Client 2.0.12版本的pom.xml配置如下:
<dependencies>
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>tablestore-hbase-client</artifactId>
<version>2.0.12</version>
</dependency>
</dependencies>
步骤二:修改配置文件
要从HBase Client迁移到Tablestore HBase Client,您需要在hbase-site.xml配置文件中修改HBase Connection类型以及添加表格存储配置项。
1. 修改HBase Connection类型
Connection需要配置为TablestoreConnection。
<property>
<name>hbase.client.connection.impl</name>
<value>com.alicloud.tablestore.hbase.TablestoreConnection</value>
</property>
2. 添加表格存储配置项
表格存储为云服务,提供了严格的权限管理。要访问表格存储,您必须配置访问密钥、访问实例等基础必配项的信息。您也可以按需进行可选配置项的配置。
基础必配项
您必须完成访问密钥和访问实例相关配置项的配置才能成功访问表格存储。其中
tablestore.client.endpoint
为表格存储的服务地址,tablestore.client.instancename
为表格存储实例名称。tablestore.client.accesskeyid
和tablestore.client.accesskeysecret
分别为阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。<property> <name>tablestore.client.endpoint</name> <value>https://exampleinstance.cn-hangzhou.ots.aliyuncs.com</value> </property> <property> <name>tablestore.client.instancename</name> <value>exampleinstance</value> </property> <property> <name>tablestore.client.accesskeyid</name> <value>*****************</value> </property> <property> <name>tablestore.client.accesskeysecret</name> <value>***********</value> </property>
可选配置项
如需进行表名、最大连接数、超时时间等可选配置项的配置,请参考如下示例进行配置。
<property> <name>hbase.client.tablestore.family</name> <value>f1</value> </property> <property> <name>hbase.client.tablestore.family.$tablename</name> <value>f2</value> </property> <property> <name>tablestore.client.max.connections</name> <value>300</value> </property> <property> <name>tablestore.client.socket.timeout</name> <value>15000</value> </property> <property> <name>tablestore.client.connection.timeout</name> <value>15000</value> </property> <property> <name>tablestore.client.operation.timeout</name> <value>2147483647</value> </property> <property> <name>tablestore.client.retries</name> <value>3</value> </property>
可选配置项说明请参见下表。
配置项
说明
hbase.client.tablestore.family
表格存储只支持单列族,使用HBase API时,需要有一项family的内容,因此通过配置来填充此项family的内容。
其中
hbase.client.tablestore.family
为全局配置,hbase.client.tablestore.family.$tablename
为单个表的配置。配置规则为对表名为T的表,先查找
hbase.client.tablestore.family.T
,如果不存在则查找hbase.client.tablestore.family
,如果仍不存在则取默认值f。hbase.client.tablestore.family.$tablename
tablestore.client.max.connections
最大连接数,默认为300。
tablestore.client.socket.timeout
Socket超时时间,默认为15秒。
tablestore.client.connection.timeout
连接超时时间,默认为15秒。
tablestore.client.operation.timeout
API超时时间,默认为
Integer.MAX_VALUE
,表示永不超时。tablestore.client.retries
请求失败时的重试次数,默认为3次。
相关文档
如需将HBase数据迁移到表格存储中,请参见数据集成服务和通过DataX将HBase数据同步到表格存储。