全部產品
Search
文件中心

Tablestore:從HBase Client遷移到Tablestore HBase Client

更新時間:Dec 28, 2024

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類型以及添加Tablestore配置項。

1. 修改HBase Connection類型

Connection需要配置為TablestoreConnection。

<property>
    <name>hbase.client.connection.impl</name>
    <value>com.alicloud.tablestore.hbase.TablestoreConnection</value>
</property>				

2. 添加Tablestore配置項

Tablestore為雲端服務,提供了嚴格的許可權管理。要訪問Tablestore,您必須配置存取金鑰、訪問執行個體等基礎必配項的資訊。您也可以按需進行可選配置項的配置。

  • 基礎必配項

    您必須完成存取金鑰和訪問執行個體相關配置項的配置才能成功訪問Tablestore。其中tablestore.client.endpointTablestore的服務地址,tablestore.client.instancenameTablestore執行個體名稱。tablestore.client.accesskeyidtablestore.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

    Tablestore只支援單列族,使用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資料移轉到Tablestore中,請參見Data Integration服務