Prerequisites
- Lindorm Tunnel Service (LTS) is activated. For more information, see Activate LTS.
- The IP address of your client is added to the whitelist of your LTS cluster. For more information, see Configure a whitelist.
API operations for managing full data migration tasks in ApsaraDB for HBase
Create a task
- API operation (POST):
http://{BDSMaster}:12311/hbase/fulldata/create
. You must replace BDSMaster with the Master hostname of your instance. - The following list describes the request parameters:
- @FormParam ("src") String srcName: the name of the source cluster.
- @FormParam ("dst") String sinkName: the name of the destination cluster.
- @FormParam ("tableNames") String tableNames: the names of the tables that you want to migrate. You can specify multiple table names and separate them with commas (,).
- @FormParam ("bulkload") boolean bulkload: specifies whether a bulkload is required.
- @FormParam("createTable") boolean createTable: specifies whether to create destination tables.
- @FormParam("extraAttrs") String extraAttrs: optional. This parameter specifies advanced settings.
Example:curl -d "src=hbase1&dst=hbase2&tableNames=t1,t2,t3&bulkload=true&createTable=true" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://{LTSMaster}:12311/hbase/fulldata/create
Responses:{ "success":"true", // Indicates whether the request is successful. "message":"workflow-36c61d1240f84ecfbb472751a29b6deb" // The ID of the task. }
- Query all tasks
-
API operation (GET):
http://{BDSMaster}:12311/hbase/fulldata
. You must replace BDSMaster with the Master hostname of your instance.Example: curl
http://{BDSMaster}:12311/hbase/fulldata
Responses:{ "tunnels": [ // Information about all tasks. { "jobName": "workflow-779298e682a44d5f9c226cea0e6f****", "tableNames": [ "t1" ], "dst": "*.*.*.*", "fullJobs": [ { "jobName": "fulldata-104f42d9bbf341099ae02c0b61a7****", "state": "SUCCEEDED", "table": "t1" } ], "bulkloadJobs": [ { "TaskName": "bulkload-73bf97f03f6140da91c3183e3d4fc1d8", "state": "SUCCEEDED" } ], "src": "*.*.*.*", "mergeTasks": [], "state": "SUCCEEDED", "inrcJobs": [], "schemeTasks": [ { "TaskName": "360338ff-abfb-4f78-9b73-580cc9fd48be", "state": "SKIPPED", "table": "t1" } ] }, { "jobName": "workflow-36c61d1240f84ecfbb472751a29b6deb", "tableNames": [ "t1", "t2" ], "dst": "*.*.*.*", "fullJobs": [ { "jobName": "fulldata-9014e168fccd433dbd56bcc61ba4ccbb", "state": "SUCCEEDED", "table": "t2" }, { "jobName": "fulldata-114cc535693344238572583268ae4c67", "state": "SUCCEEDED", "table": "t1" } ], "bulkloadJobs": [ { "TaskName": "bulkload-92402af7ef544f6182af892fe4b35c65", "state": "SUCCEEDED" }, { "TaskName": "bulkload-f7580e9ebf734c999656c1aaad41f67b", "state": "SUCCEEDED" } ], "src": "*.*.*.*", "mergeTasks": [], "state": "SUCCEEDED", "inrcJobs": [], "schemeTasks": [ { "TaskName": "b31b8f7c-9a74-4840-814a-6cd62d2b08c9", "state": "SKIPPED", "table": "t1" }, { "TaskName": "b1968a67-6684-4dd5-ba07-dbd7a52af24f", "state": "SKIPPED", "table": "t2" } ] } ], "success": "true", "message": "ok" }
- Query a task by a specified ID
- API operation (GET):
http://{BDSMaster}:12311/hbase/fulldata/{jobId}/detail
. You must replace BDSMaster with the Master hostname of your instance.
- Pause a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/fulldata/{jobId}/abort
. You must replace BDSMaster with the Master hostname of your instance.
- Delete a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/fulldata/{jobId}/del
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "success": "true", "message": "ok" }
- Retry a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/fulldata/{jobId}/retry
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "success": "true", "message": "ok" }
API operations for managing incremental data synchronization tasks in ApsaraDB for HBase
- Create a task
- API operation (POST):
http://{BDSMaster}:12311/hbase/incr/create
. You must replace BDSMaster with the Master hostname of your instance.The following list describes the request parameters:- @FormParam("name") String name: the name of the synchronization channel.
- @FormParam("src") String srcName: the name of the source cluster.
- @FormParam("dst") String sinkName: the name of the destination cluster.
- @FormParam(“tableNames") String tableNames: the names of the tables from which you want to synchronize incremental data. You can specify multiple table names and separate them with commas (,).
- @FormParam("createTable") boolean createTable: specifies whether to create destination tables.
- @FormParam("extraAttrs") String extraAttrs: This parameter specifies advanced settings.
curl -d "name=test1&src=hbase1&dst=hbase2&tableNames=t1,t2,t3&createTable=true" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://{LTSMaster}:12311/hbase/incr/create
Responses:{ "success":"true", "message":"wal-08a087da488349969ff4a4b78efbceba" // The ID of the synchronization channel. }
- Update a task
-
API operation (POST):
http://{BDSMaster}:12311/hbase/incr/update
. You must replace BDSMaster with the Master hostname of your instance.The following list describes the request parameters:- @FormParam(“jobId") final String jobId: the ID of the task that you want to update.
- @FormParam(“tableNames") final String tableNames: the names of the tables that you want to update. You can specify multiple table names and separate them with commas (,).
Example:curl -d "jobId=xxx&tableNames=t1,t2,t3" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://{LTSMaster}:12311/hbase/incr/update
- Query all tasks
- API operation (GET):
http://{BDSMaster}:12311/hbase/incr
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "tunnels": [ { "jobId": "wal-2be4c2c89b7140a7b42c050916b3f5bb", "tableNames": [ "default:t1" ], "dst": "*.*.*.*", "offset": 1573560272951, "src": "*.*.*.*", "name": "wal-2be4c2c89b7140a7b42c050916b3f5bb", "syncDate": "2019-11-12 20:04:32", "state": "KILLED", "synctime": 1573560272951 }, { "jobId": "wal-08a087da488349969ff4a4b78efbceba", "tableNames": [ "default:t1", "default:t2", "default:t3" ], "dst": "*.*.*.*", "offset": 1573651478405, "src": "*.*.*.*", "name": "test1", "syncDate": "2019-11-13 21:31:46", "state": "RUNNING", "synctime": 1573651906518 } ], "success": "true", "message": "ok" }
- Query a task by a specified ID
- API operation (GET):
http://{BDSMaster}:12311/hbase/incr/{jobId}/detail
. You must replace BDSMaster with the Master hostname of your instance.
- Pause a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/incr/{jobId}/abort
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "success": "true", "message": "ok" }
- Delete a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/incr/{jobId}/del
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "success": "true", "message": "ok" }
- Retry a task
- API operation (GET):
http://{BDSMaster}:12311/hbase/incr/{jobId}/retry
. You must replace BDSMaster with the Master hostname of your instance.Responses:{ "success": "true", "message": "ok" }