一、基本概念

Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以
在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常
明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。
本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务
组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(Massively
Parallel Processing)架构。跟MySQL、Oracle 等关系型数据不同,Greenplum可以理解为分布式关系型数据库。
关于Greenplum的更多信息请访问https://greenplum.org/

二、安装准备

1.下载离线安装包

https://github.com/greenplum-db/gpdb/releases/tag/6.1.0

2.上传到服务器,放在/home/softs下(自定义目录)

3.关闭防火墙

- 关闭防火墙(所有机器)iptables  (centos6.x)关闭:service iptables stop永久关闭:chkconfig iptables off
- 检查firewalld (centos 7.x)关闭:systemctl stop firewalld永久关闭 :systemctl disable firewalld

4.关闭SELINUX(所有机器)

[root@mdw ~]# vi /etc/selinux/config
确保SELINUX=disabled

5.配置/etc/hosts (所有机器)

为之后GP在各个节点之间相互通信做准备。
修改各台主机的主机名称。 一般建议的命名规则如下: 项目名_gp_节点Master :  dis_gp_mdwStandby Master :  dis_gp_smdwSegment Host :  dis_gp_sdw1  dis_gp_sdw2  以此类推如果Standby也搭建在某Segment host下,则命名为:dis_gp_sdw3_smdw

[root@mdw ~]# vi /etc/hosts

添加每台机器的ip 和hostname,确保所有机器的/etc/hosts中包含以下信息:
192.168.xxx.xxx gp-mdw
192.168.xxx.xxx gp-sdw1
192.168.xxx.xxx gp-sdw2
192.168.xxx.xxx gp-sdw3-mdw2

6.修改主机名

Centos7.x    vi /etc/hostname
Centos6.x    vi /etc/sysconfig/network
修改完之后   reboot机器

7.配置sysctl.conf(所有机器)

vi /etc/sysctl.conf
kernel.shmall = 197951838 # echo $(expr $(getconf _PHYS_PAGES) / 2)
kernel.shmmax = 810810728448 # echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 75 #vm.overcommit_ratio = (RAM - 0.026 * gp_vmem_rq) / RAM #gp_vmem_rq = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7
net.ipv4.ip_local_port_range = 10000 65535
kernel.sem = 500 2048000 200 4096
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_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
#vm.min_free_kbytes = 487119#awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo#对于大于64GB的主机,加上下面4行
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736 # 1.5GB
vm.dirty_bytes = 4294967296 # 4GB
#对于小于64GB的主机删除dirty_background_bytes dirty_bytes,加上下面2行
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
#vm.min_free_kbytes在内存 > 64GB系统的时候可以设置,一般比较少设置此参数。
#vm.min_free_kbytes,确保网络和存储驱动程序PF_MEMALLOC得到分配。这对内存大的系统尤其重要。一般系统上,默认值通常太低。可以使用awk命令计算vm.min_free_kbytes的值,通常是建议的系统物理内存的3%:
#awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo >> /etc/sysctl.conf
#不要设置 vm.min_free_kbytes 超过系统内存的5%,这样做可能会导致内存不足。
file-max:这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数。
tcp_tw_reuse:这个参数设置为1,表示允许将TIME-WAIT状态的socket重新用于新的TCP链接。这个对服务器来说很有意义,因为服务器上总会有大量TIME-WAIT状态的连接。
tcp_keepalive_time:这个参数表示当keepalive启用时,TCP发送keepalive消息的频度。默认是7200 seconds,意思是如果某个TCP连接在idle 2小时后,内核才发起probe。若将其设置得小一点,可以更快地清理无效的连接。
tcp_fin_timeout:这个参数表示当服务器主动关闭连接时,socket保持在FIN-WAIT-2状态的最大时间。
tcp_max_tw_buckets:这个参数表示操作系统允许TIME_WAIT套接字数量的最大值,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认是i180000,过多TIME_WAIT套接字会使Web服务器变慢。
tcp_max_syn_backlog:这个参数表示TCP三次握手建立阶段接受WYN请求队列的最大长度,默认1024,将其设置大一些可以使出现Nginx繁忙来不及accept新连接的情况时,Linux不至于丢失客户端发起的连接请求。
ip_local_port_range:这个参数定义了在UDP和TCP连接中本地端口的取值范围。
net.ipv4.tcp_rmem:这个参数定义了TCP接受缓存(用于TCP接收滑动窗口)的最小值,默认值,最大值。
net.ipv4.tcp_wmem:这个参数定义了TCP发送缓存(用于TCP发送滑动窗口)的最小值,默认值,最大值。
netdev_max_backlog:当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。这个参数表示该队列的最大值。
rmem_default:这个参数表示内核套接字接收缓存区默认的大小。
wmem_default:这个参数表示内核套接字发送缓存区默认的大小。
rmem_max:这个参数表示内核套接字接收缓存区默认的最大大小。
wmem_max:这个参数表示内核套接字发送缓存区默认的最大大小。

8.配置资源限制参数(所有机器)

在/etc/security/limits.conf文件下增加以下参数

vi /etc/security/limits.conf
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072
“*” 星号表示所有用户
noproc     是代表最大进程数
nofile     是代表最大文件打开数
RHEL / CentOS 6.X
修改:/etc/security/limits.d/90-nproc.conf 文件的nproc
[root@mdw ~]# vi /etc/security/limits.d/90-nproc.conf确保    *  soft  nproc  131072
RHEL / CentOS 7.X 修改:
修改:/etc/security/limits.d/20-nproc.conf 文件的nproc
[root@mdw ~]# vi /etc/security/limits.d/20-nproc.conf确保    *  soft  nproc  131072
ulimit -u 命令显示每个用户可用的最大进程数 max user processes,验证返回值为131072.

9.检查字符集

[root@mdw greenplum-db]# echo $LANGen_US.UTF-8如果为zh_CN.UTF-8则要修改 CentOS 6.X   /etc/syscconfig/i18nCentOS 7.X   /etc/locale.conf

10…SSH连接阈值

Greenplum数据库管理程序中的gpexpand‘ gpinitsystem、gpaddmirrors,使用 SSH连接来执行任务。在规模较大的Greenplum集群中,程序的ssh连接数可能会超出主机的未认证连接的最大阈值。发生这种情况时,会收到以下错误:ssh_exchange_identification:连接被远程主机关闭。为避免这种情况,可以更新 /etc/ssh/sshd_config 或者 /etc/sshd_config 文件的 MaxStartups 和 MaxSessions 参数vi /etc/ssh/sshd_configMaxStartups 300:30:1000重启sshd,使参数生效service sshd restart

11.同步集群时钟(NTP) (此项为操作,环境已经设置好ntp)

为了保证集群各个服务的时间一致,首先在master 服务器上,编辑 /etc/ntp.conf,配置时钟服务器为数据中心的ntp服务器。若没有,先修改master 服务器的时间到正确的时间,再修改其他节点的 /etc/ntp.conf,让他们跟随master服务器的时间。[root@mdw ~]# vi /etc/ntp.conf在server 最前面加上master:把server1,2,3,4全删改成 server xxx,可以问公司IT人员公司的时钟IP,如果没有就设置成server 1.cn.pool.ntp.orgsegment:server mdw prefer  # 优先主节点server smdw        # 其次standby 节点,若没有standby ,可以配置成数据中心的时钟服务器[root@mdw ~]# service ntpd restart  # 修改完重启ntp服务

12.创建gpadmin用户(所有机器)

在每个节点上创建gpadmin用户,用于管理和运行gp集群[root@mdw ~]# groupadd gpadmin[root@mdw ~]# useradd gpadmin -g gpadmin -s /bin/bash[root@mdw ~]# passwd gpadmin密码:gpadmin

三、集群安装部署

1.安装依赖(所有机器)root用户执行

[root@mdw ~]# yum install -y zip unzip openssh-clients ed ntp net-tools perl perl-devel perl-ExtUtils* mlocate lrzsz parted apr apr-util bzip2 krb5-devel libevent libyaml rsync

2.执行安装程序(root用户执行)

执行安装脚本,默认安装到/usr/local/ 目录下。[root@mdw ~]# rpm -ivh greenplum-db-6.12.1-rhel7-x86_64.rpm安装完成后可在/usr/local下看到greenplum-db-6.12.1和它的软连接greenplum-db由于权限的问题,建议手动修改安装路径,放在/home/gpadmin下,执行以下语句1.进入安装父目录cd /usr/local2.把安装目录移动到/home/gpadminmv greenplum-db-6.12.1 /home/gpadmin3.删除软连接/bin/rm –r greenplum-db4.在/home/gpadmin下建立新的软链接ln -s /home/gpadmin/greenplum-db-6.12.1 /home/gpadmin/greenplum-db5.修改greenplum_path.sh (重要)【greenplum-db-6.12.1可能不用修改】vi /home/gpadmin/greenplum-db/greenplum_path.sh把 GPHOME=/usr/local/greenplum-db-6.12.1修改为GPHOME=/home/gpadmin/greenplum-db6.把文件赋权给gpadmincd /homechown -R gpadmin:gpadmin /home/gpadmin
执行安装脚本,默认安装到/usr/local/ 目录下。[root@mdw ~]# rpm -ivh greenplum-db-6.12.1-rhel7-x86_64.rpm安装完成后可在/usr/local下看到greenplum-db-6.12.1和它的软连接greenplum-db由于权限的问题,建议手动修改安装路径,放在/home/gpadmin下,执行以下语句
。。。。。6.把文件赋权给gpadmincd /homechown -R gpadmin:gpadmin /home/gpadmin

3.集群互信,免密登陆(root用户执行)

生成密钥
GP6.x开始gpssh-exkeys命令已经不带自动生成密钥了,所以需要自己手动生成
cd /home/gpadmin/greenplum-db
[root@mdw greenplum-db]# ssh-keygen -t rsa
提示语不用管,一直按Enter键使用默认值即可

4.将本机的公钥复制到各个节点机器的authorized_keys文件中

[root@mdw greenplum-db]# ssh-copy-id gp-sdw1[root@mdw greenplum-db]# ssh-copy-id gp-sdw2[root@mdw greenplum-db]# ssh-copy-id gp-sdw3-mdw2

5.使用gpssh-exkeys 工具,打通n-n的免密登陆

vi all_host
增加所有hostname到文件中
gp-mdw
gp-sdw1
gp-sdw2
gp-sdw3-mdw2
[root@mdw greenplum-db]# source /home/gpadmin/greenplum-db/greenplum_path.sh
[root@mdw greenplum-db]# gpssh-exkeys -f all_host

6.同步master 配置到各个主机

打通gpadmin 用户免密登录
[root@mdw greenplum-db-6.2.1]# su - gpadmin
[gpadmin@mdw ~]$ source /home/gpadmin/greenplum-db/greenplum_path.sh
[gpadmin@mdw ~]$ ssh-keygen -t rsa
[gpadmin@mdw greenplum-db]$ ssh-copy-id gp-sdw1
[gpadmin@mdw greenplum-db]$ ssh-copy-id gp-sdw2
[gpadmin@mdw greenplum-db]$ ssh-copy-id gp-sdw3-mdw2
[gpadmin@mdw greenplum-db]$ mkdir gpconfigs
[gpadmin@mdw greenplum-db]$ cd gpconfigs
[gpadmin@mdw greenplum-db]$ vi all_hosts
把所有主机hostname添加进去gp-mdw
gp-sdw1
gp-sdw2
gp-sdw3-mdw2[gpadmin@mdw ~]$ gpssh-exkeys -f /home/gpadmin/gpconfigs/all_hosts
[gpadmin@mdw greenplum-db]$ vi /home/gpadmin/gpconfigs/seg_hosts
把所有数据节点hostname添加进去gp-sdw1
gp-sdw2
gp-sdw3-mdw2

7.批量设置greenplum在gpadmin用户的环境变量(gpadmin用户下)

添加gp的安装目录,和环境信息到用户的环境变量中。
vi .bashrc
source /home/gpadmin/greenplum-db/greenplum_path.sh

8.批量复制系统参数到其他节点(如果前面已经每台机器设置过可以跳过)

示例:
[gpadmin@mdw gpconfigs]$ exit
[root@mdw ~]# source /home/gpadmin/greenplum-db/greenplum_path.sh
[root@mdw ~]# gpscp -f /home/gpadmin/gpconfigs/seg_hosts /etc/hosts root@=:/etc/hosts
[root@mdw ~]# gpscp -f /home/gpadmin/gpconfigs/seg_hosts /etc/security/limits.conf root@=:/etc/security/limits.conf
[root@mdw ~]# gpscp -f /home/gpadmin/gpconfigs/seg_hosts /etc/sysctl.conf root@=:/etc/sysctl.conf
[root@mdw ~]# gpscp -f /home/gpadmin/gpconfigs/seg_hosts /etc/security/limits.d/20-nproc.conf root@=:/etc/security/limits.d/20-nproc.conf
[root@mdw ~]# gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'sysctl -p'
[root@mdw ~]# gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'reboot'

9.集群节点安装

3.5.1 模拟gpseginstall 脚本(gpadmin用户执行)
GP6.x无gpseginstall 命令,以下模拟此命令主要过程,完成gpsegment的部署
gpadmin 用户下执行
[root@gp-mdw gpadmin]# su - gpadmin
[gpadmin@gp-mdw ~]$  cd /home/gpadmin
[gpadmin@gp-mdw ~]$  tar -cf gp6.tar greenplum-db-6.12.1/
[gpadmin@gp-mdw ~]$  vi /home/gpadmin/gpconfigs/gpseginstall_hosts
添加
gp-sdw1
gp-sdw2
gp-sdw3-smdw

10.把压缩包分发到segment上

[gpadmin@gp-mdw ~]$ gpscp -f /home/gpadmin/gpconfigs/gpseginstall_hosts gp6.tar gpadmin@=:/home/gpadmin

11.通过gpssh命令链接到各个segment上执行命令

[gpadmin@mdw gpconfigs]$ gpssh -f /home/gpadmin/gpconfigs/gpseginstall_hosts
tar -xf gp6.tar
ln -s greenplum-db-6.12.1 greenplum-db
exit

12.环境变量文件分发到其他节点

 [gpadmin@mdw gpconfigs]$ exit[root@mdw greenplum-db-6.2.1]# su - gpadmin[gpadmin@mdw ~]$ cd gpconfigs[gpadmin@mdw gpconfigs]$ vi seg_hosts把segment的hostname都添加到文件中gp-sdw1gp-sdw2gp-sdw3-smdw[gpadmin@mdw gpconfigs]$ gpscp -f /home/gpadmin/gpconfigs/seg_hosts /home/gpadmin/.bashrc gpadmin@=:/home/gpadmin/.bashrc

13.创建集群数据目录(root用户执行)

1. 创建master 数据目录
mkdir -p /data/master
chown -R gpadmin:gpadmin /data
source /home/gpadmin/greenplum-db/greenplum_path.sh
如果有standby节点则需要执行下面2句 gp-sdw3-mdw2 这个hostname灵活变更
gpssh -h gp-sdw3-mdw2 -e 'mkdir -p /data/master'
gpssh -h gp-sdw3-mdw2 -e 'chown -R gpadmin:gpadmin /data'2. 创建segment数据目录
source /home/gpadmin/greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'mkdir -p /data/p1'
gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'mkdir -p /data/p2'
gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'mkdir -p /data/m1'
gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'mkdir -p /data/m2'
gpssh -f /home/gpadmin/gpconfigs/seg_hosts -e 'chown -R gpadmin:gpadmin /data'

四、集群初始化

1.编写初始化配置文件(gpadmin用户)

拷贝配置文件模板
su - gpadmincp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config

2.根据需要修改参数

vi /home/gpadmin/gpconfigs/gpinitsystem_config
注意:To specify PORT_BASE, review the port range specified in the net.ipv4.ip_local_port_range parameter in the /etc/sysctl.conf file.
主要修改的参数:#primary的数据目录
declare -a DATA_DIRECTORY=(/data/p1 /data/p2)
#master节点的hostname
MASTER_HOSTNAME=gp-mdw
#master节点的主目录
MASTER_DIRECTORY=/data/master
#mirror的端口要把前面的#去掉(启用mirror)
MIRROR_PORT_BASE=7000
#mirror的数据目录要把前面的#去掉(启用mirror)
declare -a MIRROR_DATA_DIRECTORY=(/data/m1 /data/m2)

3.集群初始化(gpadmin用户)

执行脚本:
gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config --locale=C -h /home/gpadmin/gpconfigs/gpseginstall_hosts --mirror-mode=spread注意:spread是指spread分布策略,只允许主机数>每个主机中的段实例数情况(number of hosts is greater than the number of segment instances.)
如果不指定mirror_mode,则是默认的group策略,这样做的情况在段实例数>1时,down机之后不会导致它的镜像全在另外一台机器中,降低另外一台机器的性能瓶颈。
安装成功日志
.
.
.
.
server shutting down
20201220:12:06:59:017597 gpstop:gp-mdw:gpadmin-[INFO]:-Attempting forceful termination of any leftover master process
20201220:12:06:59:017597 gpstop:gp-mdw:gpadmin-[INFO]:-Terminating processes for segment /data/master/gpseg-1
20201220:12:06:59:017597 gpstop:gp-mdw:gpadmin-[ERROR]:-Failed to kill processes for segment /data/master/gpseg-1: ([Errno 3] No such process)
20201220:12:07:00:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Starting gpstart with args: -a -l /home/gpadmin/gpAdminLogs -d /data/master/gpseg-1
20201220:12:07:00:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Gathering information and validating the environment...
20201220:12:07:00:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 6.1.0 build commit:6788ca8c13b2bd6e8976ccffea07313cbab30560'
20201220:12:07:00:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Greenplum Catalog Version: '301908232'
20201220:12:07:00:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Starting Master instance in admin mode
20201220:12:07:01:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20201220:12:07:01:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20201220:12:07:01:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Setting new master era
20201220:12:07:01:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Master Started...
20201220:12:07:01:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Shutting down master
20201220:12:07:02:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Commencing parallel segment instance startup, please wait...
..
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Process results...
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-   Successful segment starts                                            = 6
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-   Failed segment starts                                                = 0
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-   Skipped segment starts (segments are marked down in configuration)   = 0
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Successfully started 6 of 6 segment instances
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20201220:12:07:04:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Starting Master instance gp-mdw directory /data/master/gpseg-1
20201220:12:07:05:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Command pg_ctl reports Master gp-mdw instance active
20201220:12:07:05:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Connecting to dbname='template1' connect_timeout=15
20201220:12:07:05:017622 gpstart:gp-mdw:gpadmin-[INFO]:-No standby master configured.  skipping...
20201220:12:07:05:017622 gpstart:gp-mdw:gpadmin-[INFO]:-Database successfully started
20201220:12:07:05:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Completed restart of Greenplum instance in production mode
20201220:12:07:06:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Commencing parallel build of mirror segment instances
20201220:12:07:06:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Spawning parallel processes    batch [1], please wait...
......
20201220:12:07:07:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
.................................................................
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Parallel process exit status
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as completed           = 6
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as killed              = 0
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as failed              = 0
20201220:12:08:13:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Scanning utility log file for any warning messages
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Log file scan check passed
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Greenplum Database instance successfully created
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To complete the environment configuration, please
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-update gpadmin .bashrc file with the following
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-1. Ensure that the greenplum_path.sh file is sourced
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-2. Add "export MASTER_DATA_DIRECTORY=/data/master/gpseg-1"
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   to access the Greenplum scripts for this instance:
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   or, use -d /data/master/gpseg-1 option for the Greenplum scripts
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   Example gpstate -d /data/master/gpseg-1
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Script log file = /home/gpadmin/gpAdminLogs/gpinitsystem_20201220.log
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To remove instance, run gpdeletesystem utility
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To initialize a Standby Master Segment for this Greenplum instance
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Review options for gpinitstandby
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-The Master /data/master/gpseg-1/pg_hba.conf post gpinitsystem
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-has been configured to allow all hosts within this new
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-array to intercommunicate. Any hosts external to this
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-new array must be explicitly added to this file
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Refer to the Greenplum Admin support guide which is
20201220:12:08:14:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-located in the /home/gpadmin/greenplum-db/docs directory
20201220:12:08:15:012260 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------

4.安装中途失败回退

安装中途失败,提示使用 bash /home/gpadmin/gpAdminLogs/backout_gpinitsystem_gpadmin_* 回退,执行该脚本即可,例如:

20191218:20:39:53:011405 gpinitsystem:mdw:gpadmin-[FATAL]:-Unknown host gpzq-sh-mb: ping: unknown host gpzq-sh-mb
unknown host Script Exiting!
20191218:20:39:53:011405 gpinitsystem:mdw:gpadmin-[WARN]:-Script has left Greenplum Database in an incomplete state
20191218:20:39:53:011405 gpinitsystem:mdw:gpadmin-[WARN]:-Run command bash
/home/gpadmin/gpAdminLogs/backout_gpinitsystem_gpadmin_20191218_203938 to remove these changes
20191218:20:39:53:011405 gpinitsystem:mdw:gpadmin-[INFO]:-Start Function BACKOUT_COMMAND
20191218:20:39:53:011405 gpinitsystem:mdw:gpadmin-[INFO]:-End Function BACKOUT_COMMAND[gpadmin@mdw gpAdminLogs]$ ls
backout_gpinitsystem_gpadmin_20191218_203938  gpinitsystem_20191218.log
[gpadmin@mdw gpAdminLogs]$ bash backout_gpinitsystem_gpadmin_20191218_203938
Stopping Master instance
waiting for server to shut down.... done
server stopped
Removing Master log file
Removing Master lock files
Removing Master data directory files若执行后仍然未清理干净,可执行一下语句后,再重新安装:
pg_ctl -D /data/master/gpseg-1 stop
rm -f /tmp/.s.PGSQL.5432 /tmp/.s.PGSQL.5432.lock
主节点
rm -rf /data/master/gpseg*
所有数据节点
rm -rf /data/p1/gpseg-x
rm -rf /data/p2/gpseg-xrm -rf /data/p1/gpseg*
rm -rf /data/p2/gpseg*

5.安装成功后设置环境变量(gpadmin用户)

编辑gpadmin 用户的环境变量,增加(重要)
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
除此之外,通常还增加:(可以不设置)
export PGPORT=5432       # 根据实际情况填写
export PGUSER=gpadmin    # 根据实际情况填写
export PGDATABASE=gpdw   # 根据实际情况填写
前面已经添加过 source /usr/local/greenplum-db/greenplum_path.sh,此处操作如下:
vi .bashrc
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

6.安装成功后配置

psql 登陆gp 并设置密码(gpadmin用户)
psql -h hostname -p port -d database -U user -W password
-h后面接对应的master或者segment主机名
-p后面接master或者segment的端口号
-d后面接数据库名可将上述参数配置到用户环境变量中,linux 中使用gpadmin用户不需要密码。psql -h 127.0.0.1 -p 5432 -d database -U gpadmin psql 登录,并设置gpadmin用户密码示例:
psql -d postgresalter user gpadmin encrypted password 'gpadmin';su gpadmin
psql -p 5432
修改数据库密码
alter role gpadmin with password '123456';退出:
\q显示数据库列表
\lList of databasesName    |  Owner  | Encoding | Collate | Ctype |  Access privileges
-----------+---------+----------+---------+-------+---------------------postgres  | gpadmin | UTF8     | C       | C     | template0 | gpadmin | UTF8     | C       | C     | =c/gpadmin         +|         |          |         |       | gpadmin=CTc/gpadmintemplate1 | gpadmin | UTF8     | C       | C     | =c/gpadmin         +|         |          |         |       | gpadmin=CTc/gpadmin
(3 rows)

7.客户端登陆gp

简单介绍
客户端认证是由一个配置文件(通常名为pg_hba.conf)控制的, 它存放在数据库集群的数据目录里。HBA的意思是"host-based authentication", 也就是基于主机的认证。在initdb初始化数据目录的时候, 它会安装一个缺省的pg_hba.conf文件。不过我们也可以把认证配置文件放在其它地方

 配置 pg_hba.confvi /data/master/gpseg-1/pg_hba.conf新增一行 host all all 0.0.0.0/0 md5

8.初始化standby节点

gpinitstandby -s gp-sdw3-smdw
[gpadmin@gp-mdw ~]$  gpinitstandby -s gp-sdw3-smdw
20210311:19:25:38:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Validating environment and parameters for standby initialization...
20210311:19:25:38:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Checking for data directory /data/master/gpseg-1 on gp-sdw3-smdw
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:------------------------------------------------------
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master initialization parameters
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:------------------------------------------------------
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master hostname               = gp-mdw
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master data directory         = /data/master/gpseg-1
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master port                   = 5432
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master hostname       = gp-sdw3-smdw
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master port           = 5432
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master data directory = /data/master/gpseg-1
20210311:19:25:39:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum update system catalog         = On
Do you want to continue with standby master initialization? Yy|Nn (default=N):
> y
20210311:19:25:42:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Syncing Greenplum Database extensions to standby
20210311:19:25:43:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-The packages on gp-sdw3-smdw are consistent.
20210311:19:25:43:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Adding standby master to catalog...
20210311:19:25:43:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Database catalog updated successfully.
20210311:19:25:43:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Updating pg_hba.conf file...
20210311:19:25:45:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-pg_hba.conf files updated successfully.
20210311:19:25:49:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Starting standby master
20210311:19:25:49:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Checking if standby master is running on host: gp-sdw3-smdw  in directory: /data/master/gpseg-1
20210311:19:25:53:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Cleaning up pg_hba.conf backup files...
20210311:19:25:54:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Backup files of pg_hba.conf cleaned up successfully.
20210311:19:25:54:015347 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Successfully created standby master on gp-sdw3-smdw

Greenplum 6安装指南(CentOS 7.X)相关推荐

  1. GREENPLUM 5.17 centos 6.10 详细安装步骤

    安装介质: greenplum-db-5.17.0-rhel6-x86_64.zip 地址: https://network.pivotal.io/products/pivotal-gpdb#/rel ...

  2. Facebook WDT (Folly) 安装指南 -- CentOS 7

    博客链接: http://codeshold.me/2017/10/wdt_folly_install_centos.html 断断续续的摸索了三天,终于在 CentOS 7 上成功的安装了Faceb ...

  3. Greenplum 单机版安装问题及解决记录

    安装步骤及资源见连接[Linux部署]Greenplum单机版(CentOS Linux release 7.5)详细步骤+问题解决(含安装包 greenplum-db-6.13.0-rhel7-x8 ...

  4. Centos服务器常用安装指南

    Centos服务器常用安装指南,推荐centos7.x系统 1. 新增oper用户(root下操作) useradd oper # 修改密码:根据提示输入两次密码 passwd oper 2. 将op ...

  5. CentOS 安装指南

    CentOS 安装指南   我的 Thinkpad 安装了 Windows 10 和Ubuntu 16.10 双系统,Ubuntu 16.10 主要作为专业学习使用,其余时间主要使用 Windows ...

  6. Greenplum集群部署安装指南

    目录 一.官方安装链接 二.Greemplum安装文件下载 三.数据库安装步骤 1.准备工作 (1)修改hostname (2)关闭SELinux (3)关闭防火墙 (4)配置/etc/hosts ( ...

  7. CentOS 7安装指南

    CentOS 7安装指南(U盘版) 一.准备阶段 1.下载CentOS7镜像文件(ISO文件)到自己电脑,官网下载路径: http://isoredirect.centos.org/centos/7/ ...

  8. centos单机部署greenplum

    Releases · greenplum-db/gpdb · GitHub 开源安装包下载地址, 环境  ==CentOS Linux release 7.5.1804 (Core) 安装包下载版本= ...

  9. 【puppet server 7.9】Centos参照官方安装指南部署master和agent (puppet安装)

    puppetserver7参照官方安装指南(系统Centos) 有业务需要用到puppet来进行统一管理和自动的部署,今天来参照官方给出的步骤对puppet整体流程进行梳理,尽量以通俗易懂的方式来介绍 ...

最新文章

  1. html如何提交保存,html表单提交保存
  2. 也许MVC不该重写Url格式?
  3. vue2.0基础学习(1)
  4. 学了半天,import 到底在干啥?
  5. Java中常见的集合框架
  6. 学三极管能遇到这篇巧文,我太幸福了!
  7. akcms在模板文件中书写{php},AKCMS支持灵活的模板插件
  8. 算法设计与分析_算法设计与分析(第2版)第2章分治策略回顾
  9. C程序设计基础之多维数组的指针变量
  10. python Django之Web框架本质 (2)
  11. MySQL 获取首次登录日期、登录设备号
  12. linux kali局域网远程桌面,kali使用rdesktop连接Windows远程桌面
  13. Mac安装tree命令
  14. 计算机网络系统与分布式系统之间的区别
  15. [激光原理与应用-59]:激光器 - 光学 - 脉冲激光器的参数解析(能量、脉冲、周期、功率)
  16. 华硕发布全球首款8G内存手机ZenFone VR
  17. 如何压缩文件到最小?
  18. 01-图灵商城项目架构
  19. 咖啡豆是怎么生产出来的
  20. 程序员:为了提升自己的竞争力!哪些含金量高的证书可以考?

热门文章

  1. hibernate-transaction(提交事务)
  2. memcpy与memcpy_s的使用
  3. C# GroupBy 用法
  4. 机器学习实战-微额借款用户人品预测
  5. PIC16F73-I/SO代理
  6. 为什么区分LHS和RHS?
  7. Row size too large (> 8126). Changing some columns to TEXT or BLOB… | Mysql / MariaDB
  8. rk3288_5.1_BOX 调整HDMI屏幕满屏
  9. java实现zip压缩文件 (一)
  10. R实战| 雷达图(Radar Chart)