Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >故障分析 | Greenplum 数据状态异常处理

故障分析 | Greenplum 数据状态异常处理

原创
作者头像
爱可生开源社区
发布于 2022-12-07 08:34:05
发布于 2022-12-07 08:34:05
1.1K0
举报

作者:杨文

DBA,负责客户项目的需求与维护,会点数据库,不限于MySQLRedisCassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


一、背景:

客户在巡检时,发现 Greenplum 虽然正常运行,但有些数据的状态异常。我们知道 Greenplum 的数据是存在主段和镜像段上的,当 primary 数据异常,会自动的启用 mirror 数据。当然为了保证数据的高可用,还是要及时修复异常数据。

二、本地模拟客户故障环境:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ psql -c "select * from gp_segment_configuration order by content asc,dbid;"
 dbid | content | role | preferred_role | mode | status | port  |   hostname   |   address    |              datadir              
------+---------+------+----------------+------+--------+-------+--------------+--------------+-----------------------------------
   44 |      -1 | p    | p              | s    | u      |  5432 |   master     |   master     | /greenplum/gpdata/master/gpseg-1
   45 |      -1 | m    | m              | s    | u      |  5432 |   standby    |   standby    | /greenplum/gpdata/master/gpseg-1
    2 |       0 | p    | p              | s    | u      | 55000 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg0
   11 |       0 | m    | m              | s    | u      | 56000 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg0
    3 |       1 | p    | p              | s    | u      | 55001 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg1
   12 |       1 | m    | m              | s    | u      | 56001 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg1
    4 |       2 | p    | p              | s    | u      | 55002 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg2
   13 |       2 | m    | m              | s    | u      | 56002 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg2
    5 |       3 | p    | p              | s    | u      | 55000 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg3
   14 |       3 | m    | m              | s    | u      | 56000 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg3
    6 |       4 | p    | p              | s    | u      | 55001 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg4
   15 |       4 | m    | m              | s    | u      | 56001 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg4
    7 |       5 | p    | p              | s    | u      | 55002 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg5
   16 |       5 | m    | m              | s    | u      | 56002 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg5
    8 |       6 | p    | p              | s    | u      | 55000 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg6
   17 |       6 | m    | m              | s    | u      | 56000 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg6
    9 |       7 | p    | p              | s    | u      | 55001 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg7
   18 |       7 | m    | m              | s    | u      | 56001 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg7
   10 |       8 | p    | p              | s    | u      | 55002 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg8
   19 |       8 | m    | m              | s    | u      | 56002 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg8
   21 |       9 | m    | p              | s    | d      | 55000 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg9
   30 |       9 | p    | m              | s    | u      | 56000 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg9
   22 |      10 | m    | p              | s    | d      | 55001 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg10
   31 |      10 | p    | m              | s    | u      | 56001 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg10
   23 |      11 | m    | p              | s    | d      | 55002 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg11
   32 |      11 | p    | m              | s    | u      | 56002 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg11
   24 |      12 | m    | p              | s    | d      | 55000 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg12
   27 |      12 | p    | m              | s    | u      | 56000 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg12
   25 |      13 | m    | p              | s    | d      | 55001 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg13
   28 |      13 | p    | m              | s    | u      | 56001 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg13
   26 |      14 | m    | p              | s    | d      | 55002 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg14
   29 |      14 | p    | m              | s    | u      | 56002 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg14
   33 |      15 | m    | p              | s    | d      | 55003 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg15
   39 |      15 | p    | m              | s    | u      | 56003 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg15
   34 |      16 | m    | p              | s    | d      | 55003 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg16
   40 |      16 | p    | m              | s    | u      | 56003 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg16
   35 |      17 | m    | p              | s    | d      | 55003 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg17
   41 |      17 | p    | m              | s    | u      | 56003 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg17
   36 |      18 | m    | p              | s    | d      | 55003 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg18
   42 |      18 | p    | m              | s    | u      | 56003 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg18
   37 |      19 | m    | p              | s    | d      | 55003 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg19
   38 |      19 | p    | m              | s    | u      | 56003 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg19
(42 rows)

可以看到42个数据节点中有11个数据节点处于 down 状态;

三、故障分析及解决:

3.1、数据检查:

分别去down掉的节点中去查看数据文件(此处我们只取一个节点进行展示对比):

代码语言:txt
AI代码解释
复制
[gpadmin@data02 gpseg16]$ pwd
/greenplum/gpdata/primary/gpseg16
[gpadmin@data02 gpseg16]$ ls
base                pg_hba.conf    pg_serial     pg_utilitymodedtmredo
fts_probe_file.bak  pg_ident.conf  pg_snapshots  PG_VERSION
global              pg_log         pg_stat       pg_xlog
internal.auto.conf  pg_logical     pg_stat_tmp   postgresql.auto.conf
pg_clog             pg_multixact   pg_subtrans   postgresql.conf
pg_distributedlog   pg_notify      pg_tblspc     postmaster.opts
pg_dynshmem         pg_replslot    pg_twophase

可以发现都缺少了 postmaster.pid 文件。

为了看的更清楚,我们找一个状态正常的节点查看对比:

代码语言:txt
AI代码解释
复制
[gpadmin@data01 gpseg1]$ pwd
/greenplum/gpdata/primary/gpseg1
[gpadmin@data01 gpseg1]$ ls
base                pg_hba.conf    pg_serial     pg_utilitymodedtmredo
fts_probe_file.bak  pg_ident.conf  pg_snapshots  PG_VERSION
global              pg_log         pg_stat       pg_xlog
internal.auto.conf  pg_logical     pg_stat_tmp   postgresql.auto.conf
pg_clog             pg_multixact   pg_subtrans   postgresql.conf
pg_distributedlog   pg_notify      pg_tblspc     postmaster.opts
pg_dynshmem         pg_replslot    pg_twophase   postmaster.pid
[gpadmin@data01 gpseg1]$ cat postmaster.pid
20517
/greenplum/gpdata/primary/gpseg1
1652022705
55001
/tmp
*
 55001001     393219

说明:很多人说此时重启集群可以轻易的解决这个问题,但实际上重启集群并不能保证一定会解决问题,并且重启集群会导致业务中断。

3.2、在线生成一个配置文件:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ gprecoverseg -o ./recover
20221127:22:10:22:020909 gprecoverseg:master:gpadmin-[INFO]:-Starting gprecoverseg with args: -o ./recover
20221127:22:10:22:020909 gprecoverseg:master:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 6.7.0 build commit:2fbc274bc15a19b5de3c6e44ad5073464cd4f47b'
20221127:22:10:22:020909 gprecoverseg:master:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 9.4.24 (Greenplum Database 6.7.0 build commit:2fbc274bc15a19b5de3c6e44ad5073464cd4f47b) on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 6.4.0, 64-bit compiled on Apr 16 2020 02:24:06'
20221127:22:10:22:020909 gprecoverseg:master:gpadmin-[INFO]:-Obtaining Segment details from master...
20221127:22:10:22:020909 gprecoverseg:master:gpadmin-[INFO]:-Configuration file output to ./recover successfully.
代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ ls
gpAdminLogs  recover
[gpadmin@master ~]$ more recover
data04|55000|/greenplum/gpdata/primary/gpseg9
data04|55001|/greenplum/gpdata/primary/gpseg10
data04|55002|/greenplum/gpdata/primary/gpseg11
data05|55000|/greenplum/gpdata/primary/gpseg12
data05|55001|/greenplum/gpdata/primary/gpseg13
data05|55002|/greenplum/gpdata/primary/gpseg14
data01|55003|/greenplum/gpdata/primary/gpseg15
data02|55003|/greenplum/gpdata/primary/gpseg16
data03|55003|/greenplum/gpdata/primary/gpseg17
data04|55003|/greenplum/gpdata/primary/gpseg18
data05|55003|/greenplum/gpdata/primary/gpseg19

3.3、通过生成的配置文件进行修复集群:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ gprecoverseg -i ./recover -F 
执行过程省略,但有个选项需要确认:
Continue with segment recovery procedure Yy|Nn (default=N):
> y

3.4、检查数据:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ psql -c "select * from gp_segment_configuration order by content asc,dbid;"
 dbid | content | role | preferred_role | mode | status | port  |   hostname   |   address    |              datadir              
------+---------+------+----------------+------+--------+-------+--------------+--------------+-----------------------------------
   44 |      -1 | p    | p              | s    | u      |  5432 |   master     |   master     | /greenplum/gpdata/master/gpseg-1
   45 |      -1 | m    | m              | s    | u      |  5432 |   standby    |   standby    | /greenplum/gpdata/master/gpseg-1
    2 |       0 | p    | p              | s    | u      | 55000 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg0
   11 |       0 | m    | m              | s    | u      | 56000 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg0
    3 |       1 | p    | p              | s    | u      | 55001 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg1
   12 |       1 | m    | m              | s    | u      | 56001 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg1
    4 |       2 | p    | p              | s    | u      | 55002 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg2
   13 |       2 | m    | m              | s    | u      | 56002 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg2
    5 |       3 | p    | p              | s    | u      | 55000 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg3
   14 |       3 | m    | m              | s    | u      | 56000 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg3
    6 |       4 | p    | p              | s    | u      | 55001 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg4
   15 |       4 | m    | m              | s    | u      | 56001 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg4
    7 |       5 | p    | p              | s    | u      | 55002 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg5
   16 |       5 | m    | m              | s    | u      | 56002 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg5
    8 |       6 | p    | p              | s    | u      | 55000 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg6
   17 |       6 | m    | m              | s    | u      | 56000 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg6
    9 |       7 | p    | p              | s    | u      | 55001 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg7
   18 |       7 | m    | m              | s    | u      | 56001 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg7
   10 |       8 | p    | p              | s    | u      | 55002 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg8
   19 |       8 | m    | m              | s    | u      | 56002 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg8
   21 |       9 | m    | p              | s    | u      | 55000 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg9
   30 |       9 | p    | m              | s    | u      | 56000 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg9
   22 |      10 | m    | p              | s    | u      | 55001 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg10
   31 |      10 | p    | m              | s    | u      | 56001 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg10
   23 |      11 | m    | p              | s    | u      | 55002 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg11
   32 |      11 | p    | m              | s    | u      | 56002 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg11
   24 |      12 | m    | p              | s    | u      | 55000 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg12
   27 |      12 | p    | m              | s    | u      | 56000 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg12
   25 |      13 | m    | p              | s    | u      | 55001 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg13
   28 |      13 | p    | m              | s    | u      | 56001 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg13
   26 |      14 | m    | p              | s    | u      | 55002 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg14
   29 |      14 | p    | m              | s    | u      | 56002 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg14
   33 |      15 | m    | p              | s    | u      | 55003 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg15
   39 |      15 | p    | m              | s    | u      | 56003 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg15
   34 |      16 | m    | p              | s    | u      | 55003 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg16
   40 |      16 | p    | m              | s    | u      | 56003 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg16
   35 |      17 | m    | p              | s    | u      | 55003 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg17
   41 |      17 | p    | m              | s    | u      | 56003 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg17
   36 |      18 | m    | p              | s    | u      | 55003 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg18
   42 |      18 | p    | m              | s    | u      | 56003 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg18
   37 |      19 | m    | p              | s    | u      | 55003 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg19
   38 |      19 | p    | m              | s    | u      | 56003 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg19
(42 rows)

此时可以看到所有数据节点的状态都是正常的up状态。

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ psql
psql (9.4.24)
Type "help" for help.

postgres=# \c test
You are now connected to database "test" as user "gpadmin".
test=# select gp_segment_id,count(*) from test_yw group by gp_segment_id;
 gp_segment_id | count 
---------------+-------
             1 |   384
            13 |   396
            14 |   403
             9 |   429
            10 |   376
            16 |   364
            12 |   389
             6 |   414
             0 |   426
            15 |   426
             3 |   404
            19 |   411
             4 |   409
             2 |   393
             8 |   410
            18 |   407
             7 |   407
            11 |   420
             5 |   346
            17 |   386
(20 rows)
test=# \q

可以看到所有数据节点上都是有数据的,且都正常。

其实仔细看可以发现,上面的数据节点看起来都很正常,但还有个小小的问题:部分数据节点的角色存在异常,即有的"主段"角色变成了“镜像段”角色,有的"镜像段"角色变成了“主段”角色。

3.5、修复数据角色状态:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ gprecoverseg -r
执行过程省略,但有个选项需要确认:
Continue with segment rebalance procedure Yy|Nn (default=N):
> y

3.6、再次检查:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ psql -c "select * from gp_segment_configuration order by content asc,dbid;"
 dbid | content | role | preferred_role | mode | status | port  |   hostname   |   address    |              datadir              
------+---------+------+----------------+------+--------+-------+--------------+--------------+-----------------------------------
   44 |      -1 | p    | p              | s    | u      |  5432 |   master     |   master     | /greenplum/gpdata/master/gpseg-1
   45 |      -1 | m    | m              | s    | u      |  5432 |   standby    |   standby    | /greenplum/gpdata/master/gpseg-1
    2 |       0 | p    | p              | s    | u      | 55000 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg0
   11 |       0 | m    | m              | s    | u      | 56000 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg0
    3 |       1 | p    | p              | s    | u      | 55001 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg1
   12 |       1 | m    | m              | s    | u      | 56001 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg1
    4 |       2 | p    | p              | s    | u      | 55002 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg2
   13 |       2 | m    | m              | s    | u      | 56002 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg2
    5 |       3 | p    | p              | s    | u      | 55000 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg3
   14 |       3 | m    | m              | s    | u      | 56000 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg3
    6 |       4 | p    | p              | s    | u      | 55001 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg4
   15 |       4 | m    | m              | s    | u      | 56001 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg4
    7 |       5 | p    | p              | s    | u      | 55002 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg5
   16 |       5 | m    | m              | s    | u      | 56002 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg5
    8 |       6 | p    | p              | s    | u      | 55000 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg6
   17 |       6 | m    | m              | s    | u      | 56000 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg6
    9 |       7 | p    | p              | s    | u      | 55001 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg7
   18 |       7 | m    | m              | s    | u      | 56001 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg7
   10 |       8 | p    | p              | s    | u      | 55002 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg8
   19 |       8 | m    | m              | s    | u      | 56002 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg8
   21 |       9 | p    | p              | s    | u      | 55000 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg9
   30 |       9 | m    | m              | s    | u      | 56000 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg9
   22 |      10 | p    | p              | s    | u      | 55001 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg10
   31 |      10 | m    | m              | s    | u      | 56001 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg10
   23 |      11 | p    | p              | s    | u      | 55002 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg11
   32 |      11 | m    | m              | s    | u      | 56002 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg11
   24 |      12 | p    | p              | s    | u      | 55000 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg12
   27 |      12 | m    | m              | s    | u      | 56000 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg12
   25 |      13 | p    | p              | s    | u      | 55001 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg13
   28 |      13 | m    | m              | s    | u      | 56001 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg13
   26 |      14 | p    | p              | s    | u      | 55002 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg14
   29 |      14 | m    | m              | s    | u      | 56002 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg14
   33 |      15 | p    | p              | s    | u      | 55003 |   data01     |   data01     | /greenplum/gpdata/primary/gpseg15
   39 |      15 | m    | m              | s    | u      | 56003 |   data02     |   data02     | /greenplum/gpdata/mirror/gpseg15
   34 |      16 | p    | p              | s    | u      | 55003 |   data02     |   data02     | /greenplum/gpdata/primary/gpseg16
   40 |      16 | m    | m              | s    | u      | 56003 |   data03     |   data03     | /greenplum/gpdata/mirror/gpseg16
   35 |      17 | p    | p              | s    | u      | 55003 |   data03     |   data03     | /greenplum/gpdata/primary/gpseg17
   41 |      17 | m    | m              | s    | u      | 56003 |   data04     |   data04     | /greenplum/gpdata/mirror/gpseg17
   36 |      18 | p    | p              | s    | u      | 55003 |   data04     |   data04     | /greenplum/gpdata/primary/gpseg18
   42 |      18 | m    | m              | s    | u      | 56003 |   data05     |   data05     | /greenplum/gpdata/mirror/gpseg18
   37 |      19 | p    | p              | s    | u      | 55003 |   data05     |   data05     | /greenplum/gpdata/primary/gpseg19
   38 |      19 | m    | m              | s    | u      | 56003 |   data01     |   data01     | /greenplum/gpdata/mirror/gpseg19
(42 rows)

此时可以看到数据节点的所有状态都是正确的。

此时去之前异常数据节点中去查看数据文件,可以发现之前缺少的 postmaster.pid 文件都存在了,并且还多了 recovery.done 文件:

代码语言:txt
AI代码解释
复制
[gpadmin@data02 gpseg16]$ pwd
/greenplum/gpdata/primary/gpseg16
[gpadmin@data02 gpseg16]$ ls
backup_label.old        pg_clog            pg_stat_tmp
base                    pg_distributedlog  pg_subtrans
fts_probe_file.bak      pg_dynshmem        pg_tblspc
global                  pg_hba.conf        pg_twophase
gpexpand.pid            pg_ident.conf      pg_utilitymodedtmredo
gpexpand.status         pg_log             PG_VERSION
gpexpand.status_detail  pg_logical         pg_xlog
gpmetrics               pg_multixact       postgresql.auto.conf
gpperfmon               pg_notify          postgresql.conf
gpsegconfig_dump        pg_replslot        postgresql.conf.bak
gpssh.conf              pg_serial          postmaster.opts
internal.auto.conf      pg_snapshots       postmaster.pid
internal.auto.conf.bak  pg_stat            recovery.done
[gpadmin@data02 gpseg16]$ more postmaster.pid
19572
/greenplum/gpdata/primary/gpseg16
1669556066
55003
/tmp
*
 55003001    327680
[gpadmin@data02 gpseg16]$ more recovery.done  
standby_mode = 'on'
primary_conninfo = 'user=gpadmin host=data03 port=56003 sslmode=prefer sslcompression=1 krbsrvname=postgres application_name=gp_walreceiver'
primary_slot_name = 'internal_wal_replication_slot'

查看数据:

代码语言:txt
AI代码解释
复制
[gpadmin@master ~]$ psql -c "select gp_segment_id,count(*) from test_yw;" 

同样可以看到所有数据节点上的数据都是正常的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
故障分析 | Greenplum Segment 故障处理
我们知道Greenplum集群由Master Severs和Segment Severs组成。其中故障存在三种类别:Master故障、Segment故障、数据异常。之前我们已经聊过“Master故障”和“数据异常”的处理方式,今天将介绍Segment故障的处理方式。
爱可生开源社区
2023/02/02
2.1K0
Greenplum中检测和恢复故障的master实例
greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法.
AiDBA宝典
2023/04/27
2K0
Greenplum中检测和恢复故障的master实例
故障分析 | Greenplum 集群 standby 故障处理
客户测试环境Greenplum集群中,standby节点数据目录被误删除,导致standby节点不可用。如果此时由于其它各种原因导致master节点也不可用,则集群将无法对外提供服务,因此现需尽快恢复standby节点。
爱可生开源社区
2022/12/07
9440
Greenplum异常节点恢复,屋漏偏逢连夜雨?
> 单位内的一套greenplum集群出现了一点小问题:其中一台segment节点的主镜像出错,mirror镜像自动升级成了primary;另外一个节点提示数据库PID不存在,但是各功能都正常。今天就记录一下我们的修复过程。`(部分内容做了脱敏处理,显示会不完整)`
运维牛马
2025/03/24
810
在CentOS 8.4中安装GreenPlum 6
https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/1163282/file_groups/9837
AiDBA宝典
2023/11/22
1.2K0
在CentOS 8.4中安装GreenPlum 6
Greenplum集群故障修复小记
今天有一套环境因为网络调整,结果诺大的Greenplum集群,primary和mirror节点部分有了故障,假设有200个实例,100个segment,100个mirror,情况就是100个实例出现了问题(可能mirror已经宕机,可能mirror切换为primary,可能primary切换为mirror)刚好保证了100个实例能够正常承接业务。
jeanron100
2018/07/26
1.3K0
Greenplum集群故障修复小记
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
环境配置 地址:https://hub.docker.com/repository/docker/lhrbest/greenplum_gpcc/tags?page=1&ordering=last_up
AiDBA宝典
2023/04/27
7260
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
GreenPlum为master和segment添加镜像
在已经安装的 Greenplum DB ,给 master 节点添加 standby master 节点 。
AiDBA宝典
2023/11/18
5740
GreenPlum为master和segment添加镜像
GP 5.16.0 故障实验
内容接上一篇文章(https://blog.51cto.com/lee90/2371858),本文的实验拓扑等各种架构都和上一篇一致。
保持热爱奔赴山海
2019/09/17
9790
GP 5.16.0 故障实验
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
GreenPlum 7.0.0正式版已于2023.09.29发布,基于PG 12.12内核版本。
AiDBA宝典
2023/11/16
9600
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
在Docker中快速体验GreenPlum 7.0.0
地址:https://hub.docker.com/r/lhrbest/greenplum/tags
AiDBA宝典
2023/08/10
1.3K0
在Docker中快速体验GreenPlum 7.0.0
GreenPlum数据库故障恢复测试
环境介绍: Gpdb版本:5.5.0 二进制版本 操作系统版本: CentOS linux 7.0 Master segment: 192.168.1.225/24 hostname: mfsmaster Stadnby segemnt: 192.168.1.227/24 hostname: server227 Segment 节点1: 192.168.1.227/24 hostname: server227 Segment 节点2: 192.168.1.17/24 hostname: server17 Segment 节点3: 192.168.1.11/24 hostname: server11 每个segment节点上分别运行一个primary segment和一个mirror segment
星哥玩云
2022/08/16
8600
GreenPlum数据库故障恢复测试
GreenPlum 7.1.0新特性介绍
GreenPlum 7.0.0于2023-09-28发布,大约半年后,GreenPlum 7.1.0于2024-02-09发布。
AiDBA宝典
2024/02/26
9931
GreenPlum 7.1.0新特性介绍
Snova运维篇(二):GP集群配置和高可用特性
Greenplum数据的配置文件postgresql.conf位于数据库实例的数据目录之下。
snova-最佳实践
2019/12/24
1.4K0
Snova运维篇(二):GP集群配置和高可用特性
GreenPlum 6.19.3 安装部署基础版
Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。 本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing)架构。跟MySQL、Oracle 等关系型数据不同,Greenplum可以理解为分布式关系型数据库。 关于Greenplum的更多信息请访问https://greenplum.org/
AiDBA宝典
2023/04/27
1.7K0
GreenPlum 6.19.3 安装部署基础版
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
可以从 Greenplum 的 GitHub 页面(https://github.com/greenplum-db/gpdb/releases)下载RPM 包,或注册并登录到 Pivotal 公司官网(https://network.pivotal.io/products/vmware-tanzu-greenplum)进行下载。
AiDBA宝典
2023/04/27
2.6K0
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
Greenplum测试环境部署
本实例是部署实验环境,采用的是Citrix的虚拟化环境,分配了3台RHEL6.4的主机。
Alfred Zhao
2019/05/24
1.8K0
Greenplum 5.21.1 集群安装部署详述
简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据。对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协同工作,呈现给用户的是一个DB的效果。Master是GPDB系统的访问入口,其负责处理客户端的连接及SQL 命令、协调系统中的其他Instance(Segment)工作,Segment负责管理和处理用户数据。
星哥玩云
2022/08/18
1.1K0
Greenplum 5.21.1 集群安装部署详述
Greenplum 5.16.0初探
个人觉得GP目前比较尴尬。性能比Presto稍差点,唯品会已经把GP改用Presto替换看了。另外数仓/数据集市方面还有性能强悍的HAWQ ,支持更大数据规模Hadoop。
保持热爱奔赴山海
2019/09/18
1.2K1
Greenplum 5.16.0初探
Greenplum使用gpstate查看数据库系统的状态
gpstate工具显示有关正在运行的Greenplum数据库实例的信息。 由于Greenplum数据库系统由跨多台机器的多个PostgreSQL数据库实例(Segment)组成, 因此用户可能需要了解关于Greenplum数据库系统的额外信息。gpstate 工具为Greenplum数据库系统提供了额外的状态信息,例如:
AiDBA宝典
2023/04/27
1.2K0
Greenplum使用gpstate查看数据库系统的状态
相关推荐
故障分析 | Greenplum Segment 故障处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档