Installing the LightDB-A Database Software
Describes how to install the LightDB-A Database software binaries on all of the hosts that will comprise your LightDB-A Database system, how to enable passwordless SSH for the gpadmin
user, and how to verify the installation.
Perform the following tasks in order:
Parent topic: Installing and Upgrading LightDB-A
Installing LightDB-A Database
You must install LightDB-A Database on each host machine of the LightDB-A Database system.
VMware distributes the LightDB-A Database software as a downloadable package that you install on each host system with the operating system’s package management system.
Open source LightDB-A Database releases are available as: source code tarballs, RPM installers for CentOS, and DEB packages for Debian and Ubuntu. See https://greenplum.org/download/ for links to source code and instructions to compile LightDB-A Database from source, and for links to download pre-built binaries in RPM and DEB format. For the Ubuntu operating system, LightDB-A also offers a binary that can be installed via the apt-get
command with the Ubuntu Personal Package Archive system.
Downloading the LightDB-A Database Server Software (VMware LightDB-A)
You can download the LightDB-A Database Server software package from VMware Tanzu Network.
Be sure to note the name and the file system location of the downloaded file.
Verifying the LightDB-A Database Software (VMware LightDB-A)
VMware generates a SHA256 fingerprint for each LightDB-A Database software download available from Tanzu Network. This fingerprint enables you to verify that your downloaded file is unaltered from the original.
Follow the instructions in Verifying the VMware LightDB-A Software Download to verify the integrity of the LightDB-A Database Server software.
Installing the LightDB-A Database Software
Before you begin installing LightDB-A Database, be sure you have completed the steps in Configuring Your Systems to configure each of the coordinator, standby coordinator, and segment host machines for LightDB-A Database.
Important After installing LightDB-A Database, you must set LightDB-A Database environment variables. See Setting LightDB-A Environment Variables.
See Example Ansible Playbook for an example script that shows how you can automate creating the gpadmin
user and installing the LightDB-A Database.
Follow these instructions to install LightDB-A Database from a pre-built binary.
Important You require sudo or root user access to install from a pre-built RPM or DEB file.
Download and copy the LightDB-A Database package to the
gpadmin
user’s home directory on the coordinator, standby coordinator, and every segment host machine. The distribution file name has the formatgreenplum-db-<version>-<platform>.rpm
for RHEL, Oracle Linux, or Rocky Linux systems.Note For Oracle Linux or Rocky Linux installations, download and install the
rhel8-x86_64
distribution files.With sudo (or as root), install the LightDB-A Database package on each host machine using your system’s package manager software.
For RHEL/Oracle Linux/Rocky Linux systems, run the
yum
command:$ sudo yum install ./greenplum-db-<version>-<platform>.rpm
For Ubuntu systems, run the
apt
command:$ sudo apt install ./greenplum-db-<version>-<platform>.deb
The
yum
orapt
command automatically installs software dependencies, copies the LightDB-A Database software files into a version-specific directory under/usr/local
,/usr/local/greenplum-db-<version>
, and creates the symbolic link/usr/local/greenplum-db
to the installation directory.Change the owner and group of the installed files to
gpadmin
:$ sudo chown -R gpadmin:gpadmin /usr/local/greenplum* $ sudo chgrp -R gpadmin /usr/local/greenplum*
(Optional) Installing to a Non-Default Directory
On RHEL/CentOS systems, you can use the rpm
command with the --prefix
option to install LightDB-A Database to a non-default directory (instead of under /usr/local
). Note, however, that using rpm
does not automatically install LightDB-A Database dependencies; you must manually install dependencies to each host system.
Follow these instructions to install LightDB-A Database to a specific directory.
Important You require sudo or root user access to install from a pre-built RPM file.
- Download and copy the LightDB-A Database package to the
gpadmin
user’s home directory on the coordinator, standby coordinator, and every segment host machine. The distribution file name has the formatgreenplum-db-<version>-<platform>.rpm
for RHEL systems, orgreenplum-db-<version>-<platform>.deb
for Ubuntu systems, where<platform>
is similar torhel8-x86_64
(Red Hat 8 64-bit). Manually install the LightDB-A Database dependencies to each host system:
$ sudo yum install apr apr-util bash bzip2 curl krb5 libcurl libevent \ libxml2 libyaml zlib openldap openssh openssl openssl-libs perl readline rsync R sed tar zip
Use
rpm
with the--prefix
option to install the LightDB-A Database package to your chosen installation directory on each host machine:$ sudo rpm --install ./greenplum-db-<version>-<platform>.rpm --prefix=<directory>
The
rpm
command copies the LightDB-A Database software files into a version-specific directory under your chosen<directory>
,<directory>/greenplum-db-<version>
, and creates the symbolic link<directory>/greenplum-db
to the versioned directory.Change the owner and group of the installed files to
gpadmin
:$ sudo chown -R gpadmin:gpadmin <directory>/greenplum*
Note All example procedures in the LightDB-A Database documentation assume that you installed to the default directory, which is
/usr/local
. If you install to a non-default directory, substitute that directory for/usr/local
.
If you install to a non-default directory using rpm
, you will need to continue using rpm
(and of yum
) to perform minor version upgrades; these changes are covered in the upgrade documentation.
Enabling Passwordless SSH
The gpadmin
user on each LightDB-A host must be able to SSH from any host in the cluster to any other host in the cluster without entering a password or passphrase (called “passwordless SSH”). If you enable passwordless SSH from the coordinator host to every other host in the cluster (“1-n passwordless SSH”), you can use the LightDB-A Database gpssh-exkeys
command-line utility to enable passwordless SSH from every host to every other host (“n-n passwordless SSH”).
- Log in to the coordinator host as the
gpadmin
user. Source the
path
file in the LightDB-A Database installation directory.$ source /usr/local/greenplum-db-<version>/lightdb_a_path.sh
Note Add the above
source
command to thegpadmin
user’s.bashrc
or other shell startup file so that the LightDB-A Database path and environment variables are set whenever you log in asgpadmin
.Use the
ssh-copy-id
command to add thegpadmin
user’s public key to theauthorized_hosts
SSH file on every other host in the cluster.$ ssh-copy-id scdw $ ssh-copy-id sdw1 $ ssh-copy-id sdw2 $ ssh-copy-id sdw3 . . .
This enables 1-n passwordless SSH. You will be prompted to enter the
gpadmin
user’s password for each host. If you have thesshpass
command on your system, you can use a command like the following to avoid the prompt.$ SSHPASS=<password> sshpass -e ssh-copy-id scdw
In the
gpadmin
home directory, create a file namedhostfile_exkeys
that has the machine configured host names and host addresses (interface names) for each host in your LightDB-A system (coordinator, standby coordinator, and segment hosts). Make sure there are no blank lines or extra spaces. Check the/etc/hosts
file on your systems for the correct host names to use for your environment. For example, if you have a coordinator, standby coordinator, and three segment hosts with two unbonded network interfaces per host, your file would look something like this:cdw cdw-1 cdw-2 scdw scdw-1 scdw-2 sdw1 sdw1-1 sdw1-2 sdw2 sdw2-1 sdw2-2 sdw3 sdw3-1 sdw3-2
Run the
gpssh-exkeys
utility with yourhostfile_exkeys
file to enable n-n passwordless SSH for thegpadmin
user.$ gpssh-exkeys -f hostfile_exkeys
Confirming Your Installation
To make sure the LightDB-A software was installed and configured correctly, run the following confirmation steps from your LightDB-A coordinator host. If necessary, correct any problems before continuing on to the next task.
Log in to the coordinator host as
gpadmin
:$ su - gpadmin
Use the
gpssh
utility to see if you can log in to all hosts without a password prompt, and to confirm that the LightDB-A software was installed on all hosts. Use thehostfile_exkeys
file you used to set up passwordless SSH. For example:$ gpssh -f hostfile_exkeys -e 'ls -l /usr/local/greenplum-db-<version>'
If the installation was successful, you should be able to log in to all hosts without a password prompt. All hosts should show that they have the same contents in their installation directories, and that the directories are owned by the
gpadmin
user.If you are prompted for a password, run the following command to redo the ssh key exchange:
$ gpssh-exkeys -f hostfile_exkeys
About Your LightDB-A Database Installation
-
lightdb_a_path.sh
— This file contains the environment variables for LightDB-A Database. See Setting LightDB-A Environment Variables. - bin — This directory contains the LightDB-A Database management utilities. This directory also contains the PostgreSQL client and server programs, most of which are also used in LightDB-A Database.
- docs/cli_help — This directory contains help files for LightDB-A Database command-line utilities.
- docs/cli_help/gpconfigs — This directory contains sample
gpinitsystem
configuration files and host files that can be modified and used when installing and initializing a LightDB-A Database system. - ext — Bundled programs (such as Python) used by some LightDB-A Database utilities.
- include — The C header files for LightDB-A Database.
- lib — LightDB-A Database and PostgreSQL library files.
- sbin — Supporting/Internal scripts and programs.
- share — Shared files for LightDB-A Database.