You can perform an airgapped installation on Docker.
Install yb-voyager using a Docker image in an airgapped environment using the following steps:
-
From a machine connected to the internet, run the following commands to pull and save the latest yb-voyager docker image (Pull the version from docker.io):
docker pull yugabytedb/yb-voyager docker save -o yb-voyager-image.tar yugabytedb/yb-voyager:latest gzip yb-voyager-image.tar
-
Download the yb-voyager wrapper script on the same machine using the following command:
wget -O ./yb-voyager https://raw.githubusercontent.com/yugabyte/yb-voyager/main/docker/yb-voyager-docker
-
Copy the
yb-voyager-image.tar.gz
andyb-voyager
files to the airgapped machine. -
Load the docker image using the following command:
gunzip yb-voyager-image.tar.gz docker load --input yb-voyager-image.tar
-
Make the wrapper script executable and move it to the
bin
directory using the following commands:chmod +x yb-voyager sudo mv yb-voyager /usr/local/bin
-
Check that yb-voyager is installed using the following command:
yb-voyager version
You can perform an airgapped installation on RHEL 8 and CentOS 8.
-
Download the airgapped bundle:
https://s3.us-west-2.amazonaws.com/downloads.yugabyte.com/repos/airgapped/yb-voyager-latest-rhel-8-x86_64.tar.gz
-
Extract the bundle.
tar -xvf <tar-bundle-name>
It contains three packages - debezium, ora2pg, and yb-voyager.
-
Download the airgapped installation script into the extracted bundle directory:
wget -P </path/to/directory> raw.githubusercontent.com/yugabyte/yb-voyager/main/installer_scripts/install-voyager-airgapped.sh
-
Make the script executable:
chmod +x /path/to/directory/install-voyager-airgapped.sh
-
Transfer the folder (which contains the 3 packages and the installer script) to the airgapped machine.
-
Install all the dependencies on the airgapped machine.
-
Run the installer script on the airgapped machine to check the dependencies and install voyager:
./install-voyager-airgapped.sh
-
Check that yb-voyager is installed using the following command:
yb-voyager version
Dependencies for RHEL and CentOS 8
Binutils: Minimum version: 2.25
Java: Minimum version: 17
pg_dump: Minimum version: 14
pg_restore: Minimum version: 14
psql: Minimum version: 14
Yum packages
- gcc (no version dependency)
- make (no version dependency)
- sqlite (no version dependency)
- perl (no version dependency)
- perl-DBI (no version dependency)
- perl-App-cpanminus (no version dependency)
- perl-ExtUtils-MakeMaker (no version dependency)
- mysql-devel (no version dependency)
- oracle-instantclient-tools with exact version 21.5.0.0.0
- oracle-instantclient-basic with exact version 21.5.0.0.0
- oracle-instantclient-devel with exact version 21.5.0.0.0
- oracle-instantclient-jdbc with exact version 21.5.0.0.0
- oracle-instantclient-sqlplus with exact version 21.5.0.0.0
Installation Script
The script by default checks what dependencies are installed on the system and throws an error mentioning the missing dependencies. If all the dependencies are found to be installed, it proceeds with the installation of ora2pg, debezium, and yb-voyager.
Usage:
./install-voyager-airgapped.sh [options]
The options are as follows.
Argument | Description/valid options |
---|---|
-d, --check-only-dependencies | Check only dependencies and exit. |
-f, --force-install | Force install packages without checking dependencies. |
-h, --help | Display this help message. |
Oracle Instant Client installation help for Centos/RHEL
You can download the oracle instant client rpms from the following links:
You can perform an airgapped installation on Ubuntu 22 and later.
-
Download the airgapped bundle:
wget https://s3.us-west-2.amazonaws.com/downloads.yugabyte.com/repos/airgapped/yb-voyager-latest_debian.tar.gz
-
Extract the bundle.
tar -xvf <tar-bundle-name>
It contains three packages - debezium, ora2pg, and yb-voyager.
-
Download the airgapped installation script into the extracted bundle directory:
wget -P </path/to/directory> raw.githubusercontent.com/yugabyte/yb-voyager/main/installer_scripts/install-voyager-airgapped.sh
-
Make the script executable:
chmod +x /path/to/directory/install-voyager-airgapped.sh
-
Transfer the folder (which contains the 3 packages and the installer script) to the airgapped machine.
-
Install all the dependencies on the airgapped machine.
-
Run the install script on the airgapped machine to check the dependencies and install voyager:
./install-voyager-airgapped.sh
-
Check that yb-voyager is installed using the following command:
yb-voyager version
Dependencies for Ubuntu
Binutils: Minimum version: 2.25
Java: Minimum version: 17
pg_dump: Minimum version: 14
pg_restore: Minimum version: 14
psql: Minimum version: 14
APT packages
- gcc (no version dependency)
- sqlite3 (no version dependency)
- perl (no version dependency)
- libdbi-perl (no version dependency)
- libaio1 (no version dependency)
- cpanminus (no version dependency)
- libmysqlclient-dev (no version dependency)
- oracle-instantclient-tools with exact version 21.5.0.0.0
- oracle-instantclient-basic with exact version 21.5.0.0.0
- oracle-instantclient-devel with exact version 21.5.0.0.0
- oracle-instantclient-jdbc with exact version 21.5.0.0.0
- oracle-instantclient-sqlplus with exact version 21.5.0.0.0
Install script
The script by default checks what dependencies are installed on the system and throws an error mentioning the missing dependencies. If all the dependencies are found to be installed, it proceeds with the installation of ora2pg, debezium, and yb-voyager.
Usage:
./install-voyager-airgapped.sh [options]
The options are as follows.
Argument | Description/valid options |
---|---|
-d, --check-only-dependencies | Check only dependencies and exit. |
-f, --force-install | Force install packages without checking dependencies. |
-h, --help | Display this help message. |
Oracle Instant Client installation help for Ubuntu
You can download the oracle instant client RPM packages from the following links: