Installation and Deployment
Deploying DDT on CentOS
JDK Installation
- Download JDK 11 tgz package:
wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.9_linux-x64_bin.tar.gz
- Extract the downloaded tar package:
tar -zxvf openjdk-11.0.9_linux-x64_bin.tar.gz
- Move the extracted directory:
mv jdk-11.0.9 /usr/local/jdk11
- Configure environment variables:
vi /etc/profile
export JAVA_HOME=/usr/local/jdk11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
- Refresh the environment:
source /etc/profile
- Verify the installation:
java --version
Running DDT
Prerequisites
Ensure that the installation and configuration files are in place and the Java environment is correctly set up before starting the DDT process.
Starting the Service
- Navigate to the
bin
directory. - Run the startup script:
./start-DDT.sh
. This starts the data transfer functionality. - Run the startup script:
./start-monitor.sh
. This starts the web monitoring functionality.
Stopping the Service
- Navigate to the
bin
directory. - Run the shutdown script:
./stop-DDT.sh
. This stops the data transfer functionality. - Run the shutdown script:
./stop-monitor.sh
. This stops the web monitoring functionality.
DDT Features
- DDT supports full, real-time, full + incremental, and full + real-time synchronization modes. Incremental mode refers to real-time synchronization with a time range restriction on the Oplog.
- DDT currently supports MongoDB versions 3.2 to 6.0. Newer version features such as time-series tables and bucket tables are fully supported for synchronization.
- During real-time synchronization, users can customize the synchronization of specific DDL operations. Additionally, DDL operations are logged for auditing purposes.
Currently, synchronizing data with the same version has no impact. When synchronizing from a higher version to a lower version, new types introduced in the higher version cannot be synchronized to the lower version. Similarly, when synchronizing from a lower version to a higher version, certain types removed in the higher version cannot be synchronized. For example, deleting an index in version 3.2 or adding a time-series table in version 5.0.