YugabyteDB Anywhere software can be installed on a host machine or a VM using any of the following methods:
- YBA Installer CLI.
- Replicated Software based installation method using docker containers.
- Using helm charts on Kubernetes environment.
This solution describes the instructions to deploy YBA software using the YBA Installer.
Prerequisites
The following requirements must be met before deploying YBA:
- A bare metal host machine or VM running a supported operating system to install YBA. This node is referred to as platform host.
- Yugabyte license for the YBA deployment. Contact Yugabyte support for the license.
- Python version 3.8 or higher must be installed on the VM.
In this solution, YBA software is installed on a VM with the RHEL 8.8 operating system.
For more details on the prerequisites, see Prerequisites for YBA.
Install the YugabyteDB Anywhere software
Follow these steps to install the YBA software on the VM.
- Log in to the platform host VM.
- Download and extract the YBA Installer by running the following command:
[root@ydb-platform ~]# wget https://downloads.yugabyte.com/releases/2.20.3.1/yba_installer_full-2.20.3.1-b2-linux-x86_64.tar.gz
[root@ydb-platform ~]# tar -xf yba_installer_full-2.20.3.1-b2-linux-x86_64.tar.gz
[root@ydb-platform ~]# cd yba_installer_full-2.20.3.1-b2/
- Run a preflight check to ensure all the requirements are configured.
[root@ydb-platform ~]# ./yba-ctl preflight
- Install the software by providing the license.
[root@ydb-platform ~]# ./yba-ctl install -l <path_to_license_file>
- After the installation succeeds, YBA UI can be accessed by connecting to https://<platform_host_FQDN>.
For more details on the YBA software install, see Install YugabyteDB Anywhere.
Preparing on-prem YugabyteDB database nodes
In this solution, the YugabyteDB database nodes are deployed as VMs. These nodes are used later to create a YugabyteDB cluster using the YBA UI. These nodes are referred to as database nodes.
Follow these steps to deploy and configure the on-prem nodes.
- Create three VMs with RHEL 8.8 operating system, each deployed across the three ESXi hosts as shown in the Logical architecture. See the Configuration details to know more on the hardware resources of these nodes.
- Configure a chronyd service on each of the database nodes to ensure time synchronization among them and verify that it is working by running the following command:
# chronyc tracking
- Configure ulimit on all the database nodes. For more information, see ulimits.
- Enable transparent hugepages on all the database nodes for optimal performance. For more information, see transparent hugepages .
- Generate the SSH key on the platform host node using ssh-keygen command and copy the SSH public key to database nodes.
- Create a PowerFlex volume from the PowerFlex cluster using PowerFlex Manager. Map this volume to a ESXi host and create a VMware datastore on the volume. Repeat the volume creation, mapping, and datastore creation on all the ESXi nodes. These datastores are mapped as additional disks (referred as database disk) on the database nodes which are created on the ESXi hosts.
- On the database nodes, create a filesystem (XFS is the recommended filesystem) on the database disk and mount it to a directory using noatime option for performance optimization.
# mkfs.xfs /dev/<disk-name>
# mount /dev/<disk-name> /ydb -o noatime
- To configure the above mount point to be persistent across reboots, find the Universally Unique Identifier(UUID) of the database disk and update the mount information in the /etc/fstab file using UUID and save it. Find the UUID of the database disk (for example, /dev/sdc) by running the following blkid command:
[root@ydb-node3 ~]# blkid /dev/sdc
/dev/sdc: UUID="76bca1c0-a58e-4d87-b459-ba37885f4f8a" BLOCK_SIZE="512" TYPE="xfs"
[root@ydb-node3 ~]#
Update the mount information in /etc/fstab.
UUID=76bca1c0-a58e-4d87-b459-ba37885f4f8a /ydb xfs defaults,noatime 0 0
For more information about preparing the database nodes, see Prepare nodes for on-premises deployment.
Configuration of YugabyteDB Anywhere
Follow these steps to configure the YBA.
- Create an admin account by opening a browser and connecting to http://<yugabytedbanywhere-host-ip>/register. Select the appropriate environment, enter the user credential details, and click Register.
- Click Create Config to open the OnPrem Provider Configurationpage to create the on-premises provider configuration.
- Update the Provider details like a name for the provider, regions, the SSH key details of the platform host node, and NTP server details and click Create Provider configuration.
- To configure the hardware for the database nodes, browse to Configs > Infrastructure > On-Premises Datacenters.
- Click Add Instance Type, provide information about some basic properties of a VM (database nodes) like Machine type, Number of Cores, Memory Size, Volume size and the Mount Paths (path where the database disk is mounted).
- To add instances, click Add Instances. Update the Zone, Instance Type and IP address/hostname of the database nodes. Once all the instances are added, click Add to complete adding the instances.
- After the instances are available in the Instances list, validate them by performing a preflight check. For each instance, click Actions, select Perform check, and click Apply.
For more information about configuring the provider configuration and Instances, see Create provider configuration.