Data transfer agents let you scale beyond the limitations of a single host by sharing the workload of transferring data across additional hosts with access to your source. Data transfer agents accelerate data transfer by removing network, memory, and CPU bottlenecks.
This means LiveData Migrator for Azure can be scaled to the capacity of your wide area network or another limitation, such as the data transfer capability of your storage environment.
You can add an unlimited number of data transfer agents, subject to Azure limits.
To add a data transfer agent:
- Install an agent to a host using the installer script.
- Copy the authentication token provided by the installer.
- Add the agent using the copied authentication token.
Data transfer agents don't scale metadata migrations
Data transfer agents assist with moving data but aren't involved in scaling metadata migrations, which are typically under a much lower load and don't experience bottlenecks from being deployed on a single host.
If you use data transfer agents, agents become responsible for transferring the data to your target filesystem(s). LiveData Migrator for Azure doesn't transfer the data. If you stop the agents, your data isn't migrated. If you want to stop using agents, and use LiveData Migrator for Azure to move data, you must first remove all agents.
Data transfer agents don't apply bandwidth limits. If you need to manage traffic, use LiveData Migrator for Azure instead.
You are the system administrator able to run installer scripts and install packages with root or sudo.
Additional hosts are deployed on your network that can access the source storage environment.
Port 1433 is open between the host running LiveData Migrator for Azure and all hosts running data transfer agents. See Network requirements.
For recommended machine specifications, see the Installation Prerequisites.
Install an agent
Install each agent on a separate host with client access to the source filesystem.
Download the data transfer agent installer:Download the installer
Make the installer executable:
chmod +x install_dta.sh
Run the installation command as the root (or sudo) user:
Install with the default system user and default user(hdfs) group(hdfs), with the command
Install using a custom user or user group, with
./install_dta.sh -- --user <custom user> --group <custom group>.
A successful agent installation prints the authentication token in your terminal.
Copy the authentication token then paste it in when Adding an agent.
The format of the generated token is:
----- BEGIN AGENT TOKEN
END AGENT TOKEN -----
The begin and end tags must be included when you paste in the token.
The authentication token is generated with the system's hostname in the
/etc/hostname file. The hostname may differ from the hostname of the node on the network. To ensure the node is valid when added to the Azure Portal, the generator includes a script -
gen-certs-and-token.sh - that allows you to create custom hostnames and ports manually.
Retrieve authentication token from CLI
A successful agent installation, described in steps 1 to 3 above, prints the authentication token in your terminal. The directories in which agent files are stored are also shown.
See the output example below.
Connection Token will be stored in /opt/wandisco/livedata-migrator-data-agent/connection_token,
Security config file is /etc/wandisco/livedata-migrator-data-agent/security.properties,
Registration request file is /opt/wandisco/livedata-migrator-data-agent/reg_data_agent.json
(Re)start the livedata-migrator-data-agent service and call the livedata-migrator API to (re)register an agent:
curl -XPOST -H "Content-Type: application/json" -d @/opt/wandisco/livedata-migrator-data-agent/reg_data_agent.json http://host:18080/scaling/dataagents/
Agent connection token:
----- BEGIN AGENT TOKEN -----
----- END AGENT TOKEN -----
WANdisco LiveData Migrator Data Agent installed successfully.
Add the agent using the token from the output in your terminal.
Retrieve authentication token from host
Alternatively, you can find the generated token on the agent host in the following location.
Add the agent using the token output from the file.