|
在2024年5月份学习赵渝强老师的PG实战派一书时,里面介绍了分布式数据库GP搭建和实施。由于GP于2024年闭源了,安装包找了好久找不到了,无奈只能放弃。昨天在墨天轮社区偶尔看到一篇关于greenplum的安装https://www.modb.pro/db/1894215852594049024,于是想再尝试一下,这次终于得偿所愿找到了GP的RPM安装包。
首先我们要做好操作系统的内核参数设置,这一点和ORACLE和PG没有什么不同。
内核配置参数
========================
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.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 = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
/etc/security/limits.conf配置资源限制参数
=======================
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
同时做好SELINUX和防火墙和/etc/hosts文件的设置
[root@gphost ~]# su -l gpadmin
Last login: Wed Jul 2 08:47:44 EDT 2025 on pts/1
Last failed login: Wed Jul 2 08:50:24 EDT 2025 on pts/1
There was 1 failed login attempt since the last successful login.
切换用户,在当前用户目录创建以下几个空白目录,如下所示。同时要在gpconfigs目录创建一个GP空白的初始化环境配置文件,内容随后展示。
[gpadmin@gphost ~]$ ls
gp1 gp2 gp3 gp4 gpconfigs master
gpconfigs是存放GP初始化系统配置的文件夹
[gpadmin@gphost ~]$ cd gpconfigs/
[gpadmin@gphost gpconfigs]$ ls
gpinitsystem_config
[gpadmin@gphost ~]$ cat /home/gpadmin/gpconfigs/gpinitsystem_config
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/gp1 /home/gpadmin/gp2 /home/gpadmin/gp3 /home/gpadmin/gp4)
MASTER_HOSTNAME=gphost
MASTER_PORT=5432
MASTER_DIRECTORY=/home/gpadmin/master
DATABASE_NAME=gpdb
切换到ROOT用户,上传安装包RPM,进行安装,通常安装在/ usr/local目录下面。进入/usr/local/greenplum-db,创建如下文件,内容如下所示。做好gpadmin用户对/usr/local/greenplum*目录的授权,如chown -R gpadmin /usr/local/greenplum*、chgrp -R gpadmin /usr/local/greenplum*。
[root@gphost greenplum-db]# echo "gphost">all_hosts
[root@gphost greenplum-db]# cat all_hosts
gphost
[root@gphost greenplum-db]# echo "gphost">seg_hosts
[root@gphost greenplum-db]# cat seg_hosts
gphost
[root@gphost greenplum-db]# su -l gpadmin
Last login: Wed Jul 2 07:30:15 EDT 2025 on pts/0
[gpadmin@gphost ~]$ source /usr/local/greenplum-db/greenplum_path.sh
做好环境变量文件的配置内容如下所示
[gpadmin@gphost ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
source /usr/local/greenplum-db-6.13.0/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpdb
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
[gpadmin@gphost ~]$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
source /usr/local/greenplum-db-6.13.0/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpdb
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
我个人感到不解的是,为什么要同时做两个环境变量文件的配置。赵老师的PG实战派一书和网友的文章也是同时配置了两个环境变量文件,难道是GP数据库的一些程序要同时用到这两种环境变量文件,如果有网友知道,请告诉我一下。
创建gpadmin用户互信,大多数集群都是要创建免密SSH互信的。
[gpadmin@gphost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/gpadmin/.ssh/id_rsa):
Created directory '/home/gpadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gpadmin/.ssh/id_rsa.
Your public key has been saved in /home/gpadmin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:sRqasYeG+I+4fluNPlO661jslDRToa42Ekqdb9aBTdM gpadmin@gphost
The key's randomart image is:
+---[RSA 2048]----+
| . |
| . o |
| . +.E |
| . o = .o |
| o o.*.oS |
|o...=*B+. |
|o..+*@=o |
| oo+@= |
|+o+++*= |
+----[SHA256]-----+
[gpadmin@gphost ~]$ ssh-copy-id -i .ssh/id_rsa.pub gpadmin@gphost
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host 'gphost (192.168.200.136)' can't be established.
ECDSA key fingerprint is SHA256:Sm9+i1q/zkS/sIVZVKAwc6QbsFdVUNLBU+Cj2YWeSdE.
ECDSA key fingerprint is MD5:d0:ae:bf:52:3c:8d:ce:19:00:2b:d0:e3:5e:fd:97:2d.
Are you sure you want to continue connecting (yes/no)? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
gpadmin@gphost's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'gpadmin@gphost'"
and check to make sure that only the key(s) you wanted were added.
现在到了关键阶段,我们要做集群的初始化了,命令如下所示,一定要指定绝对路径,不然系统会报错给你看。在这里提醒大家,初始化配置文件和段主机文件,你可以自由创建在gpadmin任何目录下。
[gpadmin@gphost ~]$ gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h seg_hosts
20250702:08:02:55:009443 gpinitsystem:gphost:gpadmin-[INFO]:-Checking configuration parameters, please wait...
20250702:08:02:56:009443 gpinitsystem:gphost:gpadmin-[INFO]:-Reading Greenplum configuration file /home/gpadmin/gpconfigs/gpinitsystem_config
20250702:08:02:56:009443 gpinitsystem:gphost:gpadmin-[INFO]:-Locale has not been set in /home/gpadmin/gpconfigs/gpinitsystem_config, will set to default value
20250702:08:02:56:009443 gpinitsystem:gphost:gpadmin-[INFO]:-Locale set to en_US.utf8
20250702:08:02:56:009443 gpinitsystem:gphost:gpadmin-[FATAL]:-Expected file "seg_hosts" not found Script Exiting!
重新指定参数文件绝对路径后,集群初始化成功了。
[gpadmin@gphost ~]$ gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /usr/local/greenplum-db/seg_hosts
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checking configuration parameters, please wait...
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Reading Greenplum configuration file /home/gpadmin/gpconfigs/gpinitsystem_config
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Locale has not been set in /home/gpadmin/gpconfigs/gpinitsystem_config, will set to default value
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Locale set to en_US.utf8
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[WARN]:-ARRAY_NAME variable not set, will provide default value
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[WARN]:-CHECK_POINT_SEGMENTS variable not set, will set to default value
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[WARN]:-ENCODING variable not set, will set to default UTF-8
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-MASTER_MAX_CONNECT not set, will set to default value 250
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Detected a single host GPDB array build, reducing value of BATCH_DEFAULT from 60 to 4
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checking configuration parameters, Completed
20250702:08:03:57:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Commencing multi-home checks, please wait...
.
20250702:08:03:58:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Configuring build for standard array
20250702:08:03:58:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Commencing multi-home checks, Completed
20250702:08:03:58:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Building primary segment instance array, please wait...
....
20250702:08:04:03:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checking Master host
20250702:08:04:03:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checking new segment hosts, please wait...
....
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checking new segment hosts, Completed
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Greenplum Database Creation Parameters
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:---------------------------------------
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master Configuration
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:---------------------------------------
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master instance name = Greenplum Instance
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master hostname = gphost
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master port = 5432
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master instance dir = /home/gpadmin/master/gpseg-1
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master LOCALE = en_US.utf8
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Greenplum segment prefix = gpseg
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master Database = gpdb
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master connections = 250
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master buffers = 128000kB
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Segment connections = 750
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Segment buffers = 128000kB
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Checkpoint segments = 8
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Encoding = UTF-8
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Postgres param file = Off
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Initdb to be used = /usr/local/greenplum-db-6.13.0/bin/initdb
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-GP_LIBRARY_PATH is = /usr/local/greenplum-db-6.13.0/lib
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-HEAP_CHECKSUM is = on
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-HBA_HOSTNAMES is = 0
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Ulimit check = Passed
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Array host connect type = Single hostname per node
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master IP address [1] = ::1
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master IP address [2] = 192.168.200.136
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Master IP address [3] = fe80::610c:9ae1:b604:58ef
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Standby Master = Not Configured
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Number of primary segments = 4
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Total Database segments = 4
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Trusted shell = /bin/ssh
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Number segment hosts = 1
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Mirroring config = OFF
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:----------------------------------------
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Greenplum Primary Segment Configuration
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:----------------------------------------
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-gphost 33000 gphost /home/gpadmin/gp1/gpseg0 2
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-gphost 33001 gphost /home/gpadmin/gp2/gpseg1 3
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-gphost 33002 gphost /home/gpadmin/gp3/gpseg2 4
20250702:08:04:09:009646 gpinitsystem:gphost:gpadmin-[INFO]:-gphost 33003 gphost /home/gpadmin/gp4/gpseg3 5
Continue with Greenplum creation Yy|Nn (default=N):
> y(输入y)
20250702:08:04:21:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Building the Master instance database, please wait...
20250702:08:04:30:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Starting the Master in admin mode
20250702:08:04:33:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Commencing parallel build of primary segment instances
20250702:08:04:33:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Spawning parallel processes batch [1], please wait...
....
20250702:08:04:33:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
.......................
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:------------------------------------------------
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Parallel process exit status
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:------------------------------------------------
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Total processes marked as completed = 4
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Total processes marked as killed = 0
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Total processes marked as failed = 0
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:------------------------------------------------
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Deleting distributed backout files
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Removing back out file
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-No errors generated from parallel processes
20250702:08:04:59:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Restarting the Greenplum instance in production mode
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Starting gpstop with args: -a -l /home/gpadmin/gpAdminLogs -m -d /home/gpadmin/master/gpseg-1
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Gathering information and validating the environment...
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Obtaining Segment details from master...
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 6.13.0 build commit:4f1adf8e247a9685c19ea02bcaddfdc200937ecd Open Source'
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Commencing Master instance shutdown with mode='smart'
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Master segment instance directory=/home/gpadmin/master/gpseg-1
20250702:08:05:00:014085 gpstop:gphost:gpadmin-[INFO]:-Stopping master segment and waiting for user connections to finish ...
server shutting down
20250702:08:05:01:014085 gpstop:gphost:gpadmin-[INFO]:-Attempting forceful termination of any leftover master process
20250702:08:05:01:014085 gpstop:gphost:gpadmin-[INFO]:-Terminating processes for segment /home/gpadmin/master/gpseg-1
20250702:08:05:01:014108 gpstart:gphost:gpadmin-[INFO]:-Starting gpstart with args: -a -l /home/gpadmin/gpAdminLogs -d /home/gpadmin/master/gpseg-1
20250702:08:05:01:014108 gpstart:gphost:gpadmin-[INFO]:-Gathering information and validating the environment...
20250702:08:05:01:014108 gpstart:gphost:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 6.13.0 build commit:4f1adf8e247a9685c19ea02bcaddfdc200937ecd Open Source'
20250702:08:05:01:014108 gpstart:gphost:gpadmin-[INFO]:-Greenplum Catalog Version: '301908232'
20250702:08:05:01:014108 gpstart:gphost:gpadmin-[INFO]:-Starting Master instance in admin mode
20250702:08:05:02:014108 gpstart:gphost:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20250702:08:05:02:014108 gpstart:gphost:gpadmin-[INFO]:-Obtaining Segment details from master...
20250702:08:05:02:014108 gpstart:gphost:gpadmin-[INFO]:-Setting new master era
20250702:08:05:02:014108 gpstart:gphost:gpadmin-[INFO]:-Master Started...
20250702:08:05:02:014108 gpstart:gphost:gpadmin-[INFO]:-Shutting down master
20250702:08:05:03:014108 gpstart:gphost:gpadmin-[INFO]:-Commencing parallel segment instance startup, please wait...
.
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-Process results...
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-----------------------------------------------------
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:- Successful segment starts = 4
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:- Failed segment starts = 0
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:- Skipped segment starts (segments are marked down in configuration) = 0
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-----------------------------------------------------
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-Successfully started 4 of 4 segment instances
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-----------------------------------------------------
20250702:08:05:04:014108 gpstart:gphost:gpadmin-[INFO]:-Starting Master instance gphost directory /home/gpadmin/master/gpseg-1
20250702:08:05:06:014108 gpstart:gphost:gpadmin-[INFO]:-Command pg_ctl reports Master gphost instance active
20250702:08:05:06:014108 gpstart:gphost:gpadmin-[INFO]:-Connecting to dbname='template1' connect_timeout=15
20250702:08:05:07:014108 gpstart:gphost:gpadmin-[INFO]:-No standby master configured. skipping...
20250702:08:05:07:014108 gpstart:gphost:gpadmin-[INFO]:-Database successfully started
20250702:08:05:07:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Completed restart of Greenplum instance in production mode
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Scanning utility log file for any warning messages
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[WARN]:-*******************************************************
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[WARN]:-Scan of log file indicates that some warnings or errors
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[WARN]:-were generated during the array creation
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Please review contents of log file
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-/home/gpadmin/gpAdminLogs/gpinitsystem_20250702.log
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-To determine level of criticality
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-These messages could be from a previous run of the utility
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-that was called today!
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[WARN]:-*******************************************************
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Greenplum Database instance successfully created
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-------------------------------------------------------
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-To complete the environment configuration, please
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-update gpadmin .bashrc file with the following
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-1. Ensure that the greenplum_path.sh file is sourced
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-2. Add "export MASTER_DATA_DIRECTORY=/home/gpadmin/master/gpseg-1"
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:- to access the Greenplum scripts for this instance:
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:- or, use -d /home/gpadmin/master/gpseg-1 option for the Greenplum scripts
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:- Example gpstate -d /home/gpadmin/master/gpseg-1
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Script log file = /home/gpadmin/gpAdminLogs/gpinitsystem_20250702.log
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-To remove instance, run gpdeletesystem utility
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-To initialize a Standby Master Segment for this Greenplum instance
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Review options for gpinitstandby
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-------------------------------------------------------
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-The Master /home/gpadmin/master/gpseg-1/pg_hba.conf post gpinitsystem
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-has been configured to allow all hosts within this new
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-array to intercommunicate. Any hosts external to this
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-new array must be explicitly added to this file
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-Refer to the Greenplum Admin support guide which is
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-located in the /usr/local/greenplum-db-6.13.0/docs directory
20250702:08:05:10:009646 gpinitsystem:gphost:gpadmin-[INFO]:-------------------------------------------------------
现在可以用psql命令登录数据库了
[gpadmin@gphost ~]$ psql gpdb
psql (9.4.24)
Type "help" for help.
gpdb=# \d
No relations found.
gpdb=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+---------+----------+------------+------------+---------------------
gpdb | gpadmin | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | gpadmin | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | gpadmin | UTF8 | en_US.utf8 | en_US.utf8 | =c/gpadmin +
| | | | | gpadmin=CTc/gpadmin
template1 | gpadmin | UTF8 | en_US.utf8 | en_US.utf8 | =c/gpadmin +
| | | | | gpadmin=CTc/gpadmin
(4 rows)
gpdb=# create table testdis (id int primary key ,name varchar(20)) distributed by(id);
CREATE TABLE ^
gpdb=# insert into testdis select n,'name'||n from generate_series(1,100000) n;
INSERT 0 100000
gpdb=# select gp_segment_id,count(*) from testdis group by 1;
gp_segment_id | count
---------------+-------
0 | 25111
1 | 25018
3 | 24936
2 | 24935
(4 rows)
可以看到每个段主机数据分片数量是不同的。
[gpadmin@gphost master]$ cd gpseg-1/
[gpadmin@gphost gpseg-1]$ ls
base pg_dynshmem pg_serial PG_VERSION
global pg_hba.conf pg_snapshots pg_xlog
gpperfmon pg_ident.conf pg_stat postgresql.auto.conf
gpsegconfig_dump pg_log pg_stat_tmp postgresql.conf
gpssh.conf pg_logical pg_subtrans postmaster.opts
internal.auto.conf pg_multixact pg_tblspc postmaster.pid
pg_clog pg_notify pg_twophase
pg_distributedlog pg_replslot pg_utilitymodedtmredo
[gpadmin@gphost gpseg-1]$ pwd
/home/gpadmin/master/gpseg-1
由于master节点是协调节点,会把用户的SQL语句通过分配到SEGMENT主机上。通常你的master节点要做好pg_hba.conf的设置。
总结:这次实践活动中,找GP安装包找了好久,时间跨度达2个月。如果有些安装包,不太好找,可以多换几个平台。遇到暂时还啃不了硬骨头,可以暂时放它几天,先软化它。等待各种条件(软件、硬件、信心)都具备了,技术文档和架构原理都吃透了再去啃它。如果还是搞不定它,说明以你目前的实力暂时还不行,还要继续修炼提高。
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com