IK.AM

@making's tech note


Notes on installing VMware Greenplum® 7 on OrbStack's Linux Machine

🗃 {Middleware/RDBMS/Greenplum}
🏷 OrbStack 🏷 Greenplum 🏷 Tanzu 🏷 PostgreSQL 🏷 Rocky 
🗓 Updated at 2023-10-02T07:44:04Z  🗓 Created at 2023-09-20T14:24:26Z   🇯🇵 Original entry

⚠️ The content of this article is not supported by VMware. Any issues arising from the content of this article are your responsibility and please do not contact VMware Support.

Let's install VMware Greenplum® on OrbStack 's Linux Machines. Linux Machine is a mechanism that can be used like Windows Subsystem for Linux (WSL), is lighter than Virtual Machine, and can have a longer lifespan than Container.

Install one Coordinator (gp-coordinator) and two Segments (gp-segment1, gp-segment2). In this article, we will install VMware Greenplum® 7.0.0-beta.5.

Basically, I followed the Installation Guide.

table of contents

Creating a Linux Machine

We use Rocky Linux 8, which is supported as a Linux Distro.

Create three Linux Machines with the following commands. Since the tested environment was an Apple Silicon Mac, I specified the amd64 arch.

orb create -a amd64 rocky:8 gp-coordinator
orb create -a amd64 rocky:8 gp-segment1
orb create -a amd64 rocky:8 gp-segment2

Open three Terminals and access each shell with the following command:

orb shell -m gp-coordinator
orb shell -m gp-segment1
orb shell -m gp-segment2

Initial OS setup

Run the following command on each host

sudo yum -y install epel-release
sudo yum -y config-manager --set-enabled powertools
sudo yum -y install apr \
apr-util \
bash \
bzip2 \
curl \
lsof \
bind-utils \
krb5-libs \
libcgroup-tools \
libcurl \
libevent \
libxml2 \
libyaml \
zlib \
openldap \
openssh-clients \
openssh-server \
openssl \
openssl-libs \
sshpass \
perl \
python39 \
readline \
rsync \
R \
sed \
tar \
zip \
apr \
apr-util \
libyaml \
libevent \
java-11-openjdk-devel

echo 2 | sudo update-alternatives --config java

cat <<EOF | sudo tee -a /etc/sysctl.d/99-sysctl.conf > /dev/null
net.ipv4.ip_local_reserved_ports=65330
EOF
sudo sysctl --system

cat <<EOF | sudo tee -a /etc/security/limits.conf > /dev/null
* soft nofile 65536
* hard nofile 65536
EOF

sudo systemctl start sshd
sudo systemctl enable sshd

cat <<EOF | sudo tee /etc/hosts > /dev/null
$(dig +short gp-coordinator.orb.local) gp-coordinator
$(dig +short gp-segment1.orb.local) gp-segment1
$(dig +short gp-segment2.orb.local) gp-segment2
127.0.0.1 localhost
EOF

Download VMware Greenplum®

Download the VMware Greenplum® rpm. Here we will use the pivnet CLI. The API Token can be obtained from here.

By downloading the rpm file to your Mac, it will be shared to each host, so the following commands can be executed on gp-coordinator.

cd /Users/${USER}/Downloads

curl -sL https://github.com/pivotal-cf/pivnet-cli/releases/download/v3.0.1/pivnet-linux-amd64-3.0.1 > pivnet
chmod +x pivnet
sudo mv pivnet /usr/local/bin/
pivnet login --api-token=*********************-r
pivnet download-product-files --product-slug='vmware-greenplum' --release-version='7.0.0' --glob='*.rpm'

Installing VMware Greenplum®

Create a gpadmin user and download and install the rpm.

Execute the following on each of gp-coordinator, gp-segment1, and gp-segment2.

sudo groupadd gpadmin
sudo useradd -m gpadmin -g gpadmin
echo gpadmin:Greenplum123 | sudo chpasswd
echo 'gpadmin ALL=(ALL) NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo

sudo yum -y install ./greenplum-db-7.0.0-el8-x86_64.rpm
sudo chown -R gpadmin:gpadmin /usr/local/greenplum*
sudo chgrp -R gpadmin /usr/local/greenplum*

Load the script with environment variables etc. for Greenplum in .bashrc.

cat <<EOF | sudo su - gpadmin bash -c 'tee -a /home/gpadmin/.bashrc'
source /usr/local/greenplum-db/greenplum_path.sh
EOF

Configuring SSH

It is necessary to enable passwordless SSH communication between each node.

First, generate a key by running the following command on each node.

sudo su - gpadmin bash -c 'ssh-keygen -m PEM -t rsa -b 4096 -q -N "" -f /home/gpadmin/.ssh/id_rsa'

The following work is performed only on gp-coordinator. Work as the gpadmin user.

Add the public key of gp-coordinator to /home/gpadmin/.ssh/authorized_keys on each host.

sudo su - gpadmin

SSHPASS=Greenplum123 sshpass -e ssh-copy-id -o StrictHostKeyChecking=no gp-coordinator
SSHPASS=Greenplum123 sshpass -e ssh-copy-id -o StrictHostKeyChecking=no gp-segment1
SSHPASS=Greenplum123 sshpass -e ssh-copy-id -o StrictHostKeyChecking=no gp-segment2

Add each host's public key to /home/gpadmin/.ssh/known_hosts on each host with the following command.

cat <<EOF > hostfile_exkeys
gp-coordinator
gp-segment1
gp-segment2
EOF

gpssh-exkeys -f hostfile_exkeys

Setting up VMware Greenplum®

The following work is performed only on gp-coordinator. Continue working as the gpadmin user.

Create directories for each host with the following command.

sudo mkdir -p /data/coordinator
sudo chown gpadmin:gpadmin /data/coordinator

cat <<EOF > hostfile_gpssh_segonly
gp-segment1
gp-segment2
EOF

gpssh -f hostfile_gpssh_segonly -e 'sudo mkdir -p /data/primary'
gpssh -f hostfile_gpssh_segonly -e 'sudo mkdir -p /data/mirror'
gpssh -f hostfile_gpssh_segonly -e 'sudo chown -R gpadmin /data/*'

Initialize VMware Greenplum® with the following command:

mkdir -p gpconfigs
cat <<EOF > gpconfigs/hostfile_gpinitsystem
gp-segment1
gp-segment2
EOF

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
sed -i.bak \
  -e 's|/data1/primary /data1/primary /data1/primary /data2/primary /data2/primary /data2/primary|/data/primary|' \
  -e 's|/data1/mirror /data1/mirror /data1/mirror /data2/mirror /data2/mirror /data2/mirror|/data/mirror|' \
  -e 's/#MIRROR_PORT_BASE/MIRROR_PORT_BASE/' \
  -e 's/#declare -a MIRROR_DATA_DIRECTORY/declare -a MIRROR_DATA_DIRECTORY/' \
  -e 's/COORDINATOR_HOSTNAME=cdw/COORDINATOR_HOSTNAME=gp-coordinator/' \
  gpconfigs/gpinitsystem_config

gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem

Logs like the following will be output and you will be asked to confirm.

20230920:21:32:19:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Checking configuration parameters, please wait...
20230920:21:32:19:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Reading Greenplum configuration file gpconfigs/gpinitsystem_config
20230920:21:32:19:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Locale has not been set in gpconfigs/gpinitsystem_config, will set to default value
20230920:21:32:20:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-No DATABASE_NAME set, will exit following template1 updates
20230920:21:32:20:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-COORDINATOR_MAX_CONNECT not set, will set to default value 250
20230920:21:32:20:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Checking configuration parameters, Completed
20230920:21:32:20:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Commencing multi-home checks, please wait...
..
20230920:21:32:22:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Configuring build for standard array
20230920:21:32:23:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Commencing multi-home checks, Completed
20230920:21:32:23:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Building primary segment instance array, please wait...
..
20230920:21:32:26:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Building group mirror array type , please wait...
..
20230920:21:32:29:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Checking Coordinator host
20230920:21:32:29:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Checking new segment hosts, please wait...
....
20230920:21:32:43:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Checking new segment hosts, Completed
20230920:21:32:43:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Greenplum Database Creation Parameters
20230920:21:32:43:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:---------------------------------------
20230920:21:32:43:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator Configuration
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:---------------------------------------
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator hostname       = gp-coordinator
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator port           = 5432
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator instance dir   = /data/coordinator/gpseg-1
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator LOCALE         = 
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Greenplum segment prefix   = gpseg
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator Database       = 
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator connections    = 250
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator buffers        = 128000kB
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Segment connections        = 750
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Segment buffers            = 128000kB
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Encoding                   = UNICODE
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Postgres param file        = Off
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Initdb to be used          = /usr/local/greenplum-db-7.0.0-beta.5/bin/initdb
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-GP_LIBRARY_PATH is         = /usr/local/greenplum-db-7.0.0-beta.5/lib
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-HEAP_CHECKSUM is           = on
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-HBA_HOSTNAMES is           = 0
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Ulimit check               = Passed
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Array host connect type    = Single hostname per node
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator IP address [1]      = ::1
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator IP address [2]      = 198.19.249.116
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator IP address [3]      = fd07:b51a:cc66:0:544e:b8ff:fe64:8e36
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Coordinator IP address [4]      = fe80::544e:b8ff:fe64:8e36
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Standby Coordinator             = Not Configured
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Number of primary segments = 1
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total Database segments    = 2
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Trusted shell              = ssh
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Number segment hosts       = 2
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Mirror port base           = 7000
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Number of mirror segments  = 1
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Mirroring config           = ON
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Mirroring type             = Group
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:----------------------------------------
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Greenplum Primary Segment Configuration
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:----------------------------------------
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-gp-segment1 	6000 	gp-segment1 	/data/primary/gpseg0 	2
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-gp-segment2 	6000 	gp-segment2 	/data/primary/gpseg1 	3
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:---------------------------------------
20230920:21:32:44:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Greenplum Mirror Segment Configuration
20230920:21:32:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:---------------------------------------
20230920:21:32:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-gp-segment2 	7000 	gp-segment2 	/data/mirror/gpseg0 	4
20230920:21:32:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-gp-segment1 	7000 	gp-segment1 	/data/mirror/gpseg1 	5

Continue with Greenplum creation Yy|Nn (default=N):
> 

If you type y, logs like the following will be output:

20230920:21:32:50:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Building the Coordinator instance database, please wait...
20230920:21:32:53:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Starting the Coordinator in admin mode
20230920:21:32:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Commencing parallel build of primary segment instances
20230920:21:32:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Spawning parallel processes    batch [1], please wait...
..
20230920:21:32:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
........................
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Parallel process exit status
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as completed           = 2
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as killed              = 0
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as failed              = 0
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Removing back out file
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-No errors generated from parallel processes
20230920:21:33:21:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Restarting the Greenplum instance in production mode
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Starting gpstop with args: -a -l /home/gpadmin/gpAdminLogs -m -d /data/coordinator/gpseg-1
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Gathering information and validating the environment...
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Obtaining Greenplum Coordinator catalog information
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Obtaining Segment details from coordinator...
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 7.0.0-beta.5 build commit:08189b6c918790e7bc32184a6661de14fe22c8d5'
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Commencing Coordinator instance shutdown with mode='smart'
20230920:21:33:21:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Coordinator segment instance directory=/data/coordinator/gpseg-1
20230920:21:33:23:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Stopping coordinator segment and waiting for user connections to finish ...
server shutting down
20230920:21:33:24:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Attempting forceful termination of any leftover coordinator process
20230920:21:33:24:039383 gpstop:gp-coordinator:gpadmin-[INFO]:-Terminating processes for segment /data/coordinator/gpseg-1
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Starting gpstart with args: -a -l /home/gpadmin/gpAdminLogs -d /data/coordinator/gpseg-1
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Gathering information and validating the environment...
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 7.0.0-beta.5 build commit:08189b6c918790e7bc32184a6661de14fe22c8d5'
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Greenplum Catalog Version: '302307241'
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Starting Coordinator instance in admin mode
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-CoordinatorStart pg_ctl cmd is env GPSESSID=0000000000 GPERA=None $GPHOME/bin/pg_ctl -D /data/coordinator/gpseg-1 -l /data/coordinator/gpseg-1/log/startup.log -w -t 600 -o " -c gp_role=utility " start
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Obtaining Greenplum Coordinator catalog information
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Obtaining Segment details from coordinator...
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Setting new coordinator era
20230920:21:33:30:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Coordinator Started...
20230920:21:33:31:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Shutting down coordinator
20230920:21:33:38:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Commencing parallel segment instance startup, please wait...
.
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Process results...
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-----------------------------------------------------
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-   Successful segment starts                                            = 2
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-   Failed segment starts                                                = 0
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-   Skipped segment starts (segments are marked down in configuration)   = 0
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-----------------------------------------------------
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Successfully started 2 of 2 segment instances 
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-----------------------------------------------------
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Starting Coordinator instance gp-coordinator directory /data/coordinator/gpseg-1 
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-CoordinatorStart pg_ctl cmd is env GPSESSID=0000000000 GPERA=ab03d3b04e6ea60f_230920213330 $GPHOME/bin/pg_ctl -D /data/coordinator/gpseg-1 -l /data/coordinator/gpseg-1/log/startup.log -w -t 600 -o " -c gp_role=dispatch " start
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Command pg_ctl reports Coordinator gp-coordinator instance active
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Connecting to db template1 on host localhost
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-No standby coordinator configured.  skipping...
20230920:21:33:40:039763 gpstart:gp-coordinator:gpadmin-[INFO]:-Database successfully started
20230920:21:33:40:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Completed restart of Greenplum instance in production mode
20230920:21:33:40:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Creating core GPDB extensions
20230920:21:33:41:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Importing system collations
20230920:21:33:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Commencing parallel build of mirror segment instances
20230920:21:33:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Spawning parallel processes    batch [1], please wait...
..
20230920:21:33:45:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
.........
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Parallel process exit status
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as completed           = 2
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as killed              = 0
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Total processes marked as failed              = 0
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:------------------------------------------------
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Scanning utility log file for any warning messages
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Log file scan check passed
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Greenplum Database instance successfully created
20230920:21:33:55:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-------------------------------------------------------
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-To complete the environment configuration, please 
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-update gpadmin .bashrc file with the following
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-1. Ensure that the greenplum_path.sh file is sourced
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-2. Add "export COORDINATOR_DATA_DIRECTORY=/data/coordinator/gpseg-1"
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-   to access the Greenplum scripts for this instance:
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-   or, use -d /data/coordinator/gpseg-1 option for the Greenplum scripts
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-   Example gpstate -d /data/coordinator/gpseg-1
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Script log file = /home/gpadmin/gpAdminLogs/gpinitsystem_20230920.log
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-To remove instance, run gpdeletesystem utility
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-To initialize a Standby Coordinator Segment for this Greenplum instance
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Review options for gpinitstandby
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-------------------------------------------------------
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-The Coordinator /data/coordinator/gpseg-1/pg_hba.conf post gpinitsystem
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-has been configured to allow all hosts within this new
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-array to intercommunicate. Any hosts external to this
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-new array must be explicitly added to this file
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-Refer to the Greenplum Admin support guide which is
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-located in the /usr/local/greenplum-db-7.0.0-beta.5/docs directory
20230920:21:33:56:036256 gpinitsystem:gp-coordinator:gpadmin-[INFO]:-------------------------------------------------------

It appears that the setup was successful because Greenplum Database instance successfully created is output.

Add the following environment variables to .bashrc

cat <<EOF | tee -a /home/gpadmin/.bashrc > /dev/null
export COORDINATOR_DATA_DIRECTORY=/data/coordinator/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpadmin
export LD_PRELOAD=/lib64/libz.so.1 ps
EOF

source /home/gpadmin/.bashrc

Creating a database

Creating a database is basically the same as PostgreSQL. The following work is performed only on gp-coordinator. Continue working as the gpadmin user.

createdb test

Access to VMware Greenplum®

Accessing VMware Greenplum® is also basically the same as PostgreSQL. The following work is performed only on gp-coordinator. Continue working as the gpadmin user.

$ psql -d test
psql (12.12)
Type "help" for help.

Execute the following SQL:

CREATE TABLE IF NOT EXISTS organization
(
    organization_id   BIGINT PRIMARY KEY,
    organization_name VARCHAR(255) NOT NULL
);
INSERT INTO organization(organization_id, organization_name) VALUES(1, 'foo');
INSERT INTO organization(organization_id, organization_name) VALUES(2, 'bar');

By default, data is distributed using the Primary Key. You can check which segment the data is placed in using the column gp_segment_id.

test=# select organization_id,organization_name,gp_segment_id from organization;
 organization_id | organization_name | gp_segment_id 
-----------------+-------------------+---------------
               2 | bar               |             0
               1 | foo               |             1
(2 rows)

So far, I've been able to confirm this.


✒️️ Edit  ⏰ History  🗑 Delete