This article was first published on 2016-01-14 19:55:08

This article describes how to install and configure the GreenPlum cluster in CentOS/RedHat, Ubuntu/Debian using installation packages and source code.

1. Installation procedure

1.1 planning

192.168.4.93 (H93) 1 master 2 master and 2 mirror segments

192.168.4.94 (H94) One standby master Two primary segments and two mirror segments

The installation directory is /home/wslu/gp/ GPSQL.

Note: The subsequent steps in this article need to be performed in both H93 and H94 unless otherwise specified.

1.2. Install dependencies

Install dependencies on H93 and H94 as follows.

For Ubuntu/Debian:

apt-get install -y git-core apt-get install -y gcc g++ apt-get install -y ccache apt-get install -y libreadline-dev apt-get install -y bison flex apt-get install -y zlib1g-dev apt-get install -y openssl libssl-dev apt-get install -y libpam-dev apt-get install -y libcurl4-dev apt-get install -y libbz2-dev apt-get install -y python-dev apt-get install -y ssh apt-get install -y libcurl4-dev Package libcurl4-dev is a virtual package provided by: Libcurl4-openssl-dev 7.38.0-4+deb8u2 libcurl4-nss-dev 7.38.0-4+deb8u2 libcurl4-gnutls-dev 7.38.0-4+deb8u2 apt-get libcurl4-gnutls-dev 7.38.0-4+deb8u2 apt-get install -y python-pip pip install lockfile pip install paramiko pip install setuptools pip install epydoc pip install psi Note: debian8 required pip install --pre psiCopy the code

For CentOS:

X86_64 yum install -- y ccache. X86_64 yum install -- y ccache. X86_64 yum install -- y ccache readline.x86_64 readline-devel.x86_64 yum install bison.x86_64 bison-devel.x86_64 yum install flex.x86_64 flex-devel.x86_64 yum install zlib.x86_64 zlib-devel.x86_64 yum install -y openssl.x86_64 openssl-devel.x86_64 yum X86_64 pam-devel.x86_64 yum install -- y libcurl. X86_64 libcurl-devel.x86_64 yum install bzip2-libs.x86_64 bzip2.x86_64 bzip2-devel.x86_64 yum install libssh2.x86_64 libssh2-devel.x86_64 yum install python-devel.x86_64 yum install -y python-pip.noarch# execute:
pip install lockfile
pip install paramiko
pip install setuptools
pip install epydoc
pip install psi
# or execute:
yum install python-lockfile.noarch
yum install python-PSI.x86_64
yum install python-paramiko.noarch
yum install python-setuptools.noarch
yum install epydoc.noarch
Copy the code

1.3. Install using installation packages

  1. Download from the official websiteGreenplum db - 4.3.6.1 - build - 2 - RHEL5 - x86_64. Zip.
  2. Extract:
Unzip greenplum db - 4.3.6.1 - build - 2 - RHEL5 - x86_64. ZipCopy the code
  1. Install as normal user:
$./ greenplum-db-4.3.6.1-build-2-rhel5-x86_64. bin Installation path: /home/wslu/gp/ GPSQLCopy the code

1.4. Source code installation

1.4.1. Clone source code

$ mkdir /home/wslu/gp/greenplum
$ cd /home/wslu/gp/greenplum
$ git clone https://github.com/greenplum-db/gpdb.
Copy the code

1.4.2. Compilation and installation

$ cd /home/wslu/gp/greenplum
$ CFLAGS+="-O2" ./configure--prefix=/home/wslu/gp/gpsql --enable-debug --enable-depend --enable-cassert
$ make
$ make install
Copy the code

If you encounter some Python packages (lockfile, Paramiko, PSI, etc.) that cannot be found during installation, refer to the HAWQ project. Will < hawq_src > / tools/bin/pythonSrc/down all the package copy to/home/wslu/gp/greenplum/gpMgmt/bin/pythonSrc/ext /, and then make install.

At this point the cluster source code compilation is complete.

1.5. Set parameters

1.5.1. Set operating system Parameters

  1. Disable the firewall.
  2. Accelerated SSH connection:
sudo sed -i 's/^GSS/#&/g' /etc/ssh/sshd_config To speed up SSH connections
service sshd restart
Copy the code
  1. Set kernel and memory parameters:
Set kernel parameters to take effect at boot time
sysctl -p - >>/etc/sysctl.conf <<EOF
# configurations
kernel.sysrq=1
kernel.core_pattern=core
kernel.core_uses_pid=1
kernel.msgmnb=65536
kernel.msgmax=65536
kernel.msgmni=2048
kernel.sem=25600 3200000 10000 14200
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.conf.all.arp_filter=1
net.ipv4.ip_local_port_range=1025 65535
net.core.netdev_max_backlog=10000
net.core.rmem_max=2097152
net.core.wmem_max=2097152
vm.overcommit_memory=1
EOF
Copy the code
  1. For details about shared memory parameters, see the official recommendation:
# vi /etc/sysctl.conf
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1 
kernel.core_uses_pid = 1 
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1 
net.ipv4.ip_forward = 0 
net.ipv4.conf.default.accept_source_route = 0 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1 
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
Copy the code
  1. Set file read/write parameters:
# set limits
cat >>/etc/security/limits.d/greenplum.conf <<EOF
# GreenPlum configurations
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF
Copy the code

1.5.2. Set database parameters

Example GUC parameter Settings (need to be adjusted according to the machine configuration) :

work_mem=1GB
shared_buffers=2GB
max_connections=500
max_pool_size=2000
enable_mergejoin=off
enable_nestloop=off
max_prepared_transactions=50
autovacuum=off
interconnect_setup_timeout=1200
Copy the code

1.6. The demo cluster

Tip: If you don’t want to use a Demo cluster, you can skip this section.

Create a demo cluster with 3 segments, 3 segment-mirror, and 1 master:

$ cd /home/wslu/gp/gpsql
$ sourceGreenplum_path. sh $GPSSH -exkeys -h localhost $cd gpAux/gpdemo
$ make cluster
$ source gpdemo-env.sh
Copy the code

1.7. Set environment variables

$ source gpsql/greenplum_path.sh
$ export MASTER_DATA_DIRECTORY=/home/wslu/gp/gpsql/data/master/gpseg-1
Copy the code

1.8. Exchange SSH Keys

Gpssh-exkeys -h h93 gpssh-exkeys -h h94Copy the code

1.9. Initialize the cluster

  1. Execute the following commands on H93 and H94 to create a data directory:
$mkdir GPSQL /data/primary GPSQL /data/mirror GPSQL /data/master -pCopy the code
  1. Create a configuration file in H93configs/gpinitsystem_config, as follows:
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/home/wslu/gp/gpsql/data/primary /home/wslu/gp/gpsql/data/primary)
MASTER_HOSTNAME=h93
MASTER_DIRECTORY=/home/wslu/gp/gpsql/data/master
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/home/wslu/gp/gpsql/data/mirror /home/wslu/gp/gpsql/data/mirror)
Copy the code

Note: The Configs directory is a directory I created myself to save custom configuration files. The purpose of this step is to create a configuration file for initialization, and there is no path requirement.

  1. Create a configuration file in H93configs/hostfile_gpinitsystem, as follows:
h93
h94
Copy the code

Note: The Configs directory is a directory I created myself to save custom configuration files. The purpose of this step is to create a configuration file for initialization, and there is no path requirement.

  1. Execute the following command in H93 to initialize the cluster:
[wslu@h93 GPSQL]$gpinitSystem -c configs/ gPinitSystem_config -h configs/ hostfile_gpinitSystem -a20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-Checking configuration parameters, please wait.20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-Reading Greenplum configuration file configs/gpinitsystem_config
20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-Locale has not been set in configs/gpinitsystem_config, will set to default value
20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-Locale set to en_US.utf8
20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-No DATABASE_NAME set, will exit following template1 updates
20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-MASTER_MAX_CONNECT not set, will set to default value 250
20160114:14:30:03:005980 gpinitsystem:h93:wslu-[INFO]:-Checking configuration parameters, Completed
20160114:14:30:04:005980 gpinitsystem:h93:wslu-[INFO]:-Commencing multi-home checks, please wait. .20160114:14:30:05:005980 gpinitsystem:h93:wslu-[INFO]:-Configuring build for standard array
20160114:14:30:05:005980 gpinitsystem:h93:wslu-[INFO]:-Commencing multi-home checks, Completed
20160114:14:30:05:005980 gpinitsystem:h93:wslu-[INFO]:-Building primary segment instance array, please wait. .20160114:14:30:08:005980 gpinitsystem:h93:wslu-[INFO]:-Building group mirror array type , please wait. .20160114:14:30:12:005980 gpinitsystem:h93:wslu-[INFO]:-Checking Master host
20160114:14:30:12:005980 gpinitsystem:h93:wslu-[INFO]:-Checking new segment hosts, please wait. .20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Checking new segment hosts, Completed
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Greenplum Database Creation Parameters
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:---------------------------------------
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master Configuration
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:---------------------------------------
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master instance name       = EMC Greenplum DW
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master hostname            = h93
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master port                = 5432
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master instance dir        = /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:30:28:005980 gpinitsystem:h93:wslu-[INFO]:-Master LOCALE              = en_US.utf8
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Greenplum segment prefix   = gpseg
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master Database            =
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master connections         = 250
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master buffers             = 128000kB
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Segment connections        = 750
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Segment buffers            = 128000kB
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Checkpoint segments        = 8
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Encoding                   = UNICODE
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Postgres param file        = Off
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Initdb to be used          = /home/wslu/gp/gpsql/bin/initdb
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-GP_LIBRARY_PATH is         = /home/wslu/gp/gpsql/lib
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Ulimit check               = Passed
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Array host connect type    = Single hostname per node
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master IP address [1] =...1
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master IP address [2]      = 192168.4.93.
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Master IP address [3]      = fe80::225:90ff:fe3b:86c2
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Standby Master             = Not Configured
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Primary segment #          = 2
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Total Database segments    = 4
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Trusted shell              = ssh
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Number segment hosts       = 2
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Mirror port base           = 50000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Replicaton port base       = 41000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Mirror replicaton port base= 51000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Mirror segment #           = 2
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Mirroring config           = ON
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Mirroring type             = Group
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:----------------------------------------
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Greenplum Primary Segment Configuration
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:----------------------------------------
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h93      /home/wslu/gp/gpsql/data/primary/gpseg0        40000          2          0       41000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h93      /home/wslu/gp/gpsql/data/primary/gpseg1        40001          3          1       41001
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h94      /home/wslu/gp/gpsql/data/primary/gpseg2        40000          4          2       41000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h94      /home/wslu/gp/gpsql/data/primary/gpseg3        40001          5          3       41001
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:---------------------------------------
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-Greenplum Mirror Segment Configuration
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:---------------------------------------
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h94      /home/wslu/gp/gpsql/data/mirror/gpseg0          50000          6          0       51000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h94      /home/wslu/gp/gpsql/data/mirror/gpseg1          50001          7          1       51001
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h93      /home/wslu/gp/gpsql/data/mirror/gpseg2          50000          8          2       51000
20160114:14:30:29:005980 gpinitsystem:h93:wslu-[INFO]:-h93      /home/wslu/gp/gpsql/data/mirror/gpseg3          50001          9          3       51001
Continue with Greenplum creation Yy/Nn>
y
20160114:14:30:32:005980 gpinitsystem:h93:wslu-[INFO]:-Building the Master instance database, please wait.20160114:14:31:08:005980 gpinitsystem:h93:wslu-[INFO]:-Starting the Master in admin mode
20160114:14:32:01:005980 gpinitsystem:h93:wslu-[INFO]:-Commencing parallel build of primary segment instances
20160114:14:32:01:005980 gpinitsystem:h93:wslu-[INFO]:-Spawning parallel processes    batch [1], please wait. .20160114:14:32:02:005980 gpinitsystem:h93:wslu-[INFO]:-Waiting for parallel processes batch [1], please wait. .20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Parallel process exit status
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as completed           = 4
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as killed              = 0
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as failed              = 0
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Commencing parallel build of mirror segment instances
20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Spawning parallel processes    batch [1], please wait. .20160114:14:33:01:005980 gpinitsystem:h93:wslu-[INFO]:-Waiting for parallel processes batch [1], please wait. .20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Parallel process exit status
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as completed           = 4
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as killed              = 0
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Total processes marked as failed              = 0
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:------------------------------------------------
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Deleting distributed backout files
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Removing back out file
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-No errors generated from parallel processes
20160114:14:33:43:005980 gpinitsystem:h93:wslu-[INFO]:-Restarting the Greenplum instance in production mode
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Starting gpstop with args: -a -i -m -d /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Gathering information and validating the environment...
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Obtaining Greenplum Master catalog information
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Obtaining Segment details from master...
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 43.99.00. build dev'
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-There are 0 connections to the database
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Commencing Master instance shutdown with mode='immediate'
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Master host=h93
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Commencing Master instance shutdown with mode=immediate
20160114:14:33:43:001932 gpstop:h93:wslu-[INFO]:-Master segment instance directory=/home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:33:44:001932 gpstop:h93:wslu-[INFO]:-Attempting forceful termination of any leftover master process
20160114:14:33:44:001932 gpstop:h93:wslu-[INFO]:-Terminating processes for segment /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:33:45:002019 gpstart:h93:wslu-[INFO]:-Starting gpstart with args: -a -d /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:33:45:002019 gpstart:h93:wslu-[INFO]:-Gathering information and validating the environment...
20160114:14:33:45:002019 gpstart:h93:wslu-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 43.99.00. build dev'
20160114:14:33:45:002019 gpstart:h93:wslu-[INFO]:-Greenplum Catalog Version: '300701081'
20160114:14:33:45:002019 gpstart:h93:wslu-[INFO]:-Starting Master instance in admin mode
20160114:14:33:46:002019 gpstart:h93:wslu-[INFO]:-Obtaining Greenplum Master catalog information
20160114:14:33:46:002019 gpstart:h93:wslu-[INFO]:-Obtaining Segment details from master...
20160114:14:33:46:002019 gpstart:h93:wslu-[INFO]:-Setting new master era
20160114:14:33:46:002019 gpstart:h93:wslu-[INFO]:-Master Started...
20160114:14:33:46:002019 gpstart:h93:wslu-[INFO]:-Shutting down master
20160114:14:33:47:002019 gpstart:h93:wslu-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait. .20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-Process results...
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-----------------------------------------------------
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-   Successful segment starts                                            = 8
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-   Failed segment starts                                                = 0
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-   Skipped segment starts (segments are marked down in configuration)   = 0
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-----------------------------------------------------
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-Successfully started 8 of 8 segment instances
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-----------------------------------------------------
20160114:14:33:55:002019 gpstart:h93:wslu-[INFO]:-Starting Master instance h93 directory /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:33:56:002019 gpstart:h93:wslu-[INFO]:-Command pg_ctl reports Master h93 instance active
20160114:14:33:56:002019 gpstart:h93:wslu-[INFO]:-No standby master configured.  skipping...
20160114:14:33:56:002019 gpstart:h93:wslu-[INFO]:-Database successfully started
20160114:14:33:59:005980 gpinitsystem:h93:wslu-[INFO]:-Completed restart of Greenplum instance in production mode
20160114:14:33:59:005980 gpinitsystem:h93:wslu-[INFO]:-Loading gp_toolkit...
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Scanning utility log file for any warning messages
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Log file scan check passed
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Greenplum Database instance successfully created
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-------------------------------------------------------
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-To complete the environment configuration, please
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-update wslu .bashrc file with the following
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-1. Ensure that the greenplum_path.sh file is sourced
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-2. Add "export MASTER_DATA_DIRECTORY=/home/wslu/gp/gpsql/data/master/gpseg-1"
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-   to access the Greenplum scripts for this instance:
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-   or.use -d /home/wslu/gp/gpsql/data/master/gpseg-1 option for the Greenplum scripts
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-   Example gpstate -d /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Script log file = /home/wslu/gpAdminLogs/gpinitsystem_20160114.log
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-To remove instance, run gpdeletesystem utility
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-To initialize a Standby Master Segment for this Greenplum instance
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Review options for gpinitstandby
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-------------------------------------------------------
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-The Master /home/wslu/gp/gpsql/data/master/gpseg-1/pg_hba.conf post gpinitsystem
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-has been configured to allow all hosts within this new
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-array to intercommunicate. Any hosts external to this
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-new array must be explicitly added to this file
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-Refer to the Greenplum Admin support guide which is
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-located in the /home/wslu/gp/gpsql/docs directory
20160114:14:34:02:005980 gpinitsystem:h93:wslu-[INFO]:-------------------------------------------------------
Copy the code
  1. View the directory structure:
[wslu@h93 gpsql]$ ls data master mirror primary [wslu@h93 gpsql]$ ls data/master/ gpseg-1 [wslu@h93 gpsql]$ ls data/mirror/ gpseg2 gpseg3 [wslu@h93 gpsql]$ ls data/primary/ gpseg0 gpseg1 [wslu@h93 gpsql]$ [wslu@h94 gpsql]$ ls data/  master mirror primary [wslu@h94 gpsql]$ ls data/master/ [wslu@h94 gpsql]$ ls data/primary/ gpseg2 gpseg3 [wslu@h94 gpsql]$ ls data/mirror/ gpseg0 gpseg1 [wslu@h94 gpsql]$Copy the code
  1. Initialize the standby master on H94. (The active and standby masters must reside on different hosts. If you want to configure multiple nodes in a single node, do not configure the standby master. This is because the master and master must reside in the same directory, so they must be on different hosts. If port is not 5432, specify PGPORT) :
[wslu@h93 gpsql]$ PGPORT=5432 PGDATABASE=postgres gpinitstandby -s h94
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Validating environment and parameters for standby initialization...
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Checking for filespace directory /home/wslu/gp/gpsql/data/master/gpseg-1 on h94
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:------------------------------------------------------
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum standby master initialization parameters
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:------------------------------------------------------
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum master hostname               = h93
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum master data directory         = /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum master port                   = 5432
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum standby master hostname       = h94
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum standby master port           = 5432
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum standby master data directory = /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-Greenplum update system catalog         = On
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:------------------------------------------------------
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:- Filespace locations
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:------------------------------------------------------
20160114:14:40:47:003933 gpinitstandby:h93:wslu-[INFO]:-pg_system -> /home/wslu/gp/gpsql/data/master/gpseg-1
Do you want to continue with standby master initialization? Yy|Nn (default=N):
> y
20160114:14:40:53:003933 gpinitstandby:h93:wslu-[INFO]:-Syncing Greenplum Database extensions to standby
20160114:14:40:53:003933 gpinitstandby:h93:wslu-[INFO]:-The packages on h94 are consistent.
20160114:14:40:53:003933 gpinitstandby:h93:wslu-[INFO]:-Adding standby master to catalog...
20160114:14:40:53:003933 gpinitstandby:h93:wslu-[INFO]:-Database catalog updated successfully.
20160114:14:40:54:003933 gpinitstandby:h93:wslu-[INFO]:-Updating pg_hba.conf file...
20160114:14:41:00:003933 gpinitstandby:h93:wslu-[INFO]:-pg_hba.conf files updated successfully.
20160114:14:41:09:003933 gpinitstandby:h93:wslu-[INFO]:-Updating filespace flat files...
20160114:14:41:09:003933 gpinitstandby:h93:wslu-[INFO]:-Filespace flat file updated successfully.
20160114:14:41:10:003933 gpinitstandby:h93:wslu-[INFO]:-Starting standby master
20160114:14:41:10:003933 gpinitstandby:h93:wslu-[INFO]:-Checking if standby master is running on host: h94  in directory: /home/wslu/gp/gpsql/data/master/gpseg-1
20160114:14:41:11:003933 gpinitstandby:h93:wslu-[INFO]:-Cleaning up pg_hba.conf backup files...
20160114:14:41:17:003933 gpinitstandby:h93:wslu-[INFO]:-Backup files of pg_hba.conf cleaned up successfully.
20160114:14:41:17:003933 gpinitstandby:h93:wslu-[INFO]:-Successfully created standby master on h94
Copy the code
  1. H94’s data/master directory is not empty:
$ [wslu@h94 gpsql]$ ls data/master/
gpseg-1
Copy the code

1.10. Test

[wslu@h93 gpsql]$ psql -p 5432 postgres
psql (8.3devel)
Type "help" for help.
 
postgres=#
postgres=#
postgres=# \db
        List of tablespaces
    Name    | Owner | Filespae Name
------------+-------+---------------
 pg_default | wslu  | pg_system
 pg_global  | wslu  | pg_system
(2 rows)
Copy the code

At this point, the cluster is initialized.

1.11. Supplement: How to Deploy All Nodes on one Host?

If you want to configure all nodes on one host, for example: Alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config alter hostfile_config The contents in the data/master directory can be re-initialized.

2. GreenPlum

Note: Before using any commands of the cluster, you must execute:

$ source greenplum-path.sh
$ exportMASTER_DATA_DIRECTORY=/home/wslu/gp/gpsql/data/master/gpseg-1
Copy the code

No further details will follow.

2.1. Start the cluster

Manually starting a cluster:

$ gpstart –a
Copy the code

2.2. Stop the cluster

$ gpstop –a
Copy the code

2.3. Restart the cluster

$gpstop - a - rCopy the code

2.4. View the cluster status

$gpstate | - m - eCopy the code

2.5. The reload configuration file

If the configuration file changes without stopping the cluster, the reload configuration file:

The $gpstop - uCopy the code

2.6. Start the Master in maintenance mode

Simply starting the master to perform maintenance management tasks does not affect the data in the segment. For example, in maintenance mode you can only connect to the master instance’s database and edit the system table Settings.

  1. Start master in maintenance mode:
$ gpstart –m
Copy the code
  1. Connect master to maintain system tables in maintenance mode. Such as:
$ PGOPTIONS='-c gp_session_role=utility' psql template1
Copy the code
  1. After the administrative tasks are complete, make master turn off the tools mode. Then, restart and enter normal mode:
$ gpstop -m
Copy the code

2.7. Access the database

You can connect clusters using PSQL:

 [wslu@h93 gpsql]$ psql -p 5432 postgres
psql (8.3devel)
Type "help" for help.
 
postgres=#
Copy the code

2.8. GUC Parameter Settings

Use gpconfig to set guC parameters:

$ gpconfig -c gp_vmem_protect_limit -v4096MB
Copy the code

Gpconfig can set guC parameters for master and all segments, or use the — masterOnly parameter to set only master parameters. After guC parameters are set, restart the cluster or reload configuration file based on the GUC parameter type.

Display GUC parameters:

$PSQL c 'showstatement_mem; 'or gpconfig -- show statement_mem $PSQL -- c' show all; 'or gpconfig - lCopy the code

Welcome to follow my wechat public number [database kernel] : share mainstream open source database and storage engine related technology.

The title The url
GitHub dbkernel.github.io
zhihu www.zhihu.com/people/dbke…
SegmentFault segmentfault.com/u/dbkernel
The Denver nuggets Juejin. Im/user / 5 e9d3e…
OsChina my.oschina.net/dbkernel
CNBlogs www.cnblogs.com/dbkernel