由于机房电源割接失误导致所有服务器全部挂掉,导致数据库故障,重启数据库一直报错,以下是解决方法希望可以帮到有同样问题的小伙伴。
故障原因:Greenplum 由于备master节点故障导致gp无法启动处理
1、已经配置了gpstandby节点,如果gpstandby故障是不会影响Greenplum正常运行,但是如果此时关闭master主节点则无法启动需要将原gpstandby节点移除。
1、启动master节点失败
[gpadmin@gpmaster ~]$ gpstart
20200908:11:30:38:025343 gpstart:gpmaster:gpadmin-[INFO]:-Starting gpstart with args:
20200908:11:30:38:025343 gpstart:gpmaster:gpadmin-[INFO]:-Gathering information and validating the environment…
20200908:11:30:38:025343 gpstart:gpmaster:gpadmin-[INFO]:-Greenplum Binary Version: ‘postgres (Greenplum Database) 5.0.0-alpha.0+dev.266.g923109b build dev’
20200908:11:30:38:025343 gpstart:gpmaster:gpadmin-[INFO]:-Greenplum Catalog Version: ‘201310150’
20200908:11:30:38:025343 gpstart:gpmaster:gpadmin-[INFO]:-Starting Master instance in admin mode
20200908:11:30:39:025343 gpstart:gpmaster:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20200908:11:30:39:025343 gpstart:gpmaster:gpadmin-[INFO]:-Obtaining Segment details from master…
20200908:11:30:39:025343 gpstart:gpmaster:gpadmin-[INFO]:-Setting new master era
20200908:11:30:39:025343 gpstart:gpmaster:gpadmin-[INFO]:-Master Started…
20200908:11:30:40:025343 gpstart:gpmaster:gpadmin-[CRITICAL]:-Error occurred: non-zero rc: 2
Command was: ‘ssh -o ‘StrictHostKeyChecking no’ gpstandby “. /usr/local/gpdb-5.0.0/greenplum_path.sh; $GPHOME/bin/pg_controldata /master/gpseg-1”’
rc=2, stdout=’’, stderr='pg_controldata: could not open file “/master/gpseg-1/global/pg_control” for reading: No such file or directory
’
2、移除问题gpstandby
[gpadmin@gpmaster ~]$ gpinitstandby -r gpstandby
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:------------------------------------------------------
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Warm master standby removal parameters
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:------------------------------------------------------
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum master hostname = gpmaster
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum master data directory = /master/gpseg-1
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum master port = 5432
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum standby master hostname = gpstandby
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum standby master port = 5432
20200908:11:30:53:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Greenplum standby master data directory = /master/gpseg-1
Do you want to continue with deleting the standby master? Yy|Nn (default=N):
y
20200908:11:30:56:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Removing standby master from catalog…
20200908:11:30:56:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Database catalog updated successfully.
20200908:11:30:56:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Removing filespace directories on standby master…
20200908:11:30:56:025380 gpinitstandby:gpmaster:gpadmin-[INFO]:-Successfully removed standby master
3、停止master节点
[gpadmin@gpmaster ~]$ gpstop
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:-Starting gpstop with args:
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:-Gathering information and validating the environment…
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:-Obtaining Segment details from master…
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:-Greenplum Version: ‘postgres (Greenplum Database) 5.0.0-alpha.0+dev.266.g923109b build dev’
20200908:11:31:11:025413 gpstop:gpmaster:gpadmin-[INFO]:---------------------------------------------
20200908