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

Greenplum数据库故障排查及修复 gp服务正常,存在部分segment实例丢失 gp启动失败,segment实例可用数已不足一半 gprecoverseg gprecoverseg -F gprecoverseg - 已知可能造成segment丢失的原因:频繁的内存溢出。 可能存在的问题:数据目录存在目录或文件权限不足、损坏文件等。 gpstart -v 查看启动日志明细 阅读详情

作者:杨文

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

本文来源:原创投稿

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


一、背景:

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

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

[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掉的节点中去查看数据文件(此处我们只取一个节点进行展示对比):

[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 文件。

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

[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、在线生成一个配置文件:

[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.

[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、通过生成的配置文件进行修复集群:

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

3.4、检查数据:

[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状态。

[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、修复数据角色状态:

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

3.6、再次检查:

[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 文件:

[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'

查看数据:

[gpadmin@master ~]$ psql -c "select gp_segment_id,count(*) from test_yw;" 

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

《GreenPlum系列》GreenPlum常见问题处理 1.GreenPlum执行命令,抛出异常Reason='Environment Variable MASTER_DATA_DIRECTORY not set!' 2.GreenPlum执行命令,抛出异常:File "./gpstart", line 12, in < module> from gppylib.mainUtils import * 3.GreenPlum数据库Standby故障处理 4.GreenPlum安装遇见免密错误 5.GreenPlum/PostGreSQL表锁处理 阅读详情

相关推荐

记一次处理大数据而导致的内存溢出问题

JVM内存溢出分析

一万个小时 1028

Greenplum 实时数据仓库实践(9)——Greenplum监控与运维

Greenplum监控与运维:权限与角色管理、数据导入导出、性能优化、例行监控、例行维护、推荐的监控与维护任务

wzy0623的专栏 3315

宿舍网速跑不满?可能是PPPoE的锅!实测OpenWrt切换DHCP+深澜认证,轻松跑满校园百兆宽带

本文探讨了校园网PPPoE协议的性能瓶颈问题,并提供了通过OpenWrt路由器切换DHCP+深澜认证的技术方案,实测可显著提升网速至百兆宽带满速。文章详细介绍了配置步骤、性能对比及常见问题解决方案,帮助用户优化校园网体验。

weixin_31310913的博客 383

Greenplum 扩容遇到问题后的心得体会

1 实例数控制在20个      目前集群的事实表没有适应大部聚合查询的分布键 所以在group by是slice分布交替数据重分布数据广播时开销很大 实例数最好控制在30个以内  至少在芒果TV的应用场景中在32个实例的时候 group查询会卡得不行     80个实例集群相当于完全用不了(一个机器装2个primary ) 2 单机单实例      单机多实例运行时 OOM错误不好控制 并

chshw1987的博客 1214

Kindle使用USB数据线传书封面无法显示问题

不建议按这个解决封面问题,首先USB多次插拔麻烦,其次就是我起初按博主方法没啥问题,后面无论我怎么个顺序都出现了‘暂无图片’,我的建议是在亚马逊退出国内只能USB传书的情况下,下载一个calibre 和。飞行模式下用calibre传书到kindle ,然后用Fix Kindle Ebook Cover 修复一下,后面你要继续飞行模式还是连网随你便,两步完事。2,‘’发送到设备’的时候也最好选择 ‘发送特定格式至’ 选择具体的电子书格式,你的电子书是azw3就选azw3,是mobi就选mobi。

meser88的博客 7416

忘记安卓锁屏密码怎么办?3种方法教你用ADB恢复访问(含gesture.key解密)

本文详细解析了安卓设备锁屏密码的存储与加密机制,特别是gesture.key文件的解密原理。针对遗忘密码的常见问题,提供了三种核心恢复方法:利用ADB调试接口删除密码文件、对gesture.key进行离线分析与解密,以及应对高版本系统的替代方案。重点介绍了通过ADB工具在Recovery模式下操作的具体步骤,帮助用户在合法合规前提下恢复设备访问权限。

php55的博客 954

数据库并发事务控制四:postgresql数据库的锁机制二:表锁 <转>

在博文《数据库并发事务控制四:postgresql数据库的锁机制 》 http://blog.youkuaiyun.com/beiigang/article/details/43302947 中后面提到: 常规锁机制可以参考pg的官方手册,章节和内容见下面 13.3. Explicit Locking http://www.postgresql.org/docs/9.4/static/exp...

weixin_30300523的博客 318

【深度学习新浪潮】什么是system 1和system 2?

System 1(快速生成)指大模型直接基于输入生成响应,无需显式中间推理步骤。例如,GPT-4等模型在默认状态下通过Transformer直接输出结果,擅长快速回答简单问题或生成连贯文本,但在复杂逻辑任务中可能出错。这类模型的内部计算以向量形式隐式进行,难以处理符号推理等需要离散决策的任务。System 2(慢速推理)指模型通过生成中间token(如思维链、分步推导)或多次调用LLM进行复杂推理。

专注:太空算力、AI infra、异构调度、大模型成本工程 924

Greenplum资源队列相关的死锁问题

说明了为什么数据库要有锁,数据库为什么会产生死锁,PostgreSQL怎么实现的锁,Greenplum怎么实现的资源队列,死锁的现象和产生原因,从理论层面说明了Greenplum常见资源队列死锁的底层原因,并阐述了解决办法。

u013970710的博客 1442

080、多轴运动控制:插补器设计(螺旋线插补)

本文分享了螺旋线插补器设计的实战经验。针对五轴点胶机Z轴抖动问题,作者分析了螺旋线数学本质,提出基于归一化时间参数的速度规划方法,强调各轴严格同步的重要性。文章详细介绍了速度分解、加减速处理、嵌入式优化技巧(查表法、定点化),并总结了起点闭合、速度波动、数值处理等常见问题解决方案。最后给出5条实用建议:注重速度规划而非纯数学推导、预先仿真、保留调试接口、考虑机械谐振、防范编码器丢脉冲。通过优化插补周期、电子齿轮比和S形速度曲线,成功将设备良率从60%提升至95%。

m0_50546716的博客 84

CMCC-IPC-A410串口刷机救砖教程

《CMCC-IPC-A410摄像头串口刷机指南》摘要 本指南针对2018年前老款CMCC-IPC-A410摄像头变砖/升级失败的情况,提供串口刷机方案。需准备CH340G串口模块、杜邦线、海康V5.5.82固件等工具。操作包含硬件连接(TX/RX交叉接线)、115200波特率终端配置、CTRL+U进入刷机模式,通过UPF格式化、tftp传输固件、update写入等步骤完成修复。刷机后设备恢复未激活状态,需重置密码,原定制功能可能失效。整个过程需稳定供电,耗时约15-20分钟,注意此操作将使原厂保修失效。(1

海康威视技术支持 1842

greenplum常用命令&运维命令

greenplum常用命令&运维命令

半僧的大数据杂谈 3114

【Unity3D框架】GameFramework框架完全教程《全网最全》-专栏文章目录

最近准备学习框架,了解到GameFramework框架是国产Unity3D框架,准备学习一下,但是奈何全网关于这个框架的教程实在太少。为了让自己学习方便一些,也为了让后来者乘凉。将框架以自己的理解整理目录,并且补全教程。觉得教程有帮助别忘了一键三连哦。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2万+

故障分析 | Greenplum Segment 故障处理

作者:杨文DBA,负责客户项目的需求与维护,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

ActionTech的博客 1224

MobileViT替换YOLOv11主干网络:轻量化新思路-(用MobileViT等轻量视觉Transformer降低计算成本)

在计算机视觉领域,目标检测一直是核心任务之一,而YOLO(You Only Look Once)系列算法因其出色的速度-精度平衡成为工业界和学术界的热门选择。随着YOLOv11的推出,模型性能达到了新的高度,但其计算复杂度和参数量也随之增加,这对资源受限的移动设备和嵌入式系统提出了挑战。与此同时,视觉Transformer(ViT)的出现为计算机视觉带来了全新范式,但其庞大的计算需求限制了在移动端的应用。MobileViT作为一种创新的轻量级视觉Transformer架构,巧妙结合了CNN的归纳偏置优势和V

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1646

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

解决GREENPLUM某些版本gprecoverseg –r失败后镜像双坏,系统无法启动的问题

开始之前,我先声明一点,参考这篇文章去操作数据库,造成丢失数据,搞瘫系统的可能性非常之高,初学者以及思路不清晰者,请关闭页面,不要再继续下去,经过一通乱搞以后,真的就没人能再帮得了你了。 先说明一下故障的来由,由于系统的BUG某些版本的GREENPLUM只要执行了gprecoverseg -r,就一定会失败,而且一定会镜像双坏,无法启动。这里说明一下,这种版本的GP镜像反转时,只能重启数据库去自动修复,不可以使用gprecoverseg –r人工修复,切记。 值得庆幸的是,只要是进入到这种反转...

weixin_39901938的博客 2489

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

因缺失增量信息而导致recoverseg恢复失败的情况

因缺失增量信息而导致recoverseg恢复失败的情况,报错信息为Failed to inform primary segment of updatedmirroring state. Segment:sdw2:/data1/primary/gpseg1:content=1:dbid=3:mode=r:status=u: REASON: Conversionfailed. stdout:"" stderr:"failure: Error: MirroringFailurefailure: Error:

aabc012的博客 4546

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

postgresql启动报错pg ctl:PID file “/opt/postgres/data/postmaster.pid“ does not exist

postgresql启动报错pg ctl:PID file "/opt/postgres/data/postmaster.pid" does not exist

等等小汤圆的博客 6487

greenplum启动、停止、重启、节点修复指南

greenplum启动、停止、重启、节点修复指南

weixin_45561600的博客 4430

Postgresql9.1.2意外删除postmaster.pid文件的恢复

起因是我修改了参数,然后pg_ctl reload,然后报错 pg_ctl: PID file “/pgdata/xjwq/1953/data02/pg_root/postmaster.pid” does not exist 这时才发现postmaster.pid不在,那我们就重构一个吧。 首先看一下postmaster.pid文件的内容: cd $PGDATA cat postmast...

魂醉的一亩二分地 3236

Greenplum常见问题的分析与处理

目录 第一节 排查问题的方法 目录 1、 不能只看表象,要去看日志,找规律,去复现 2、去哪看日志,有哪些日志 3、管理工具的日志 4、GP数据库日志 5、 CSV日志 6、遇到问题解决方式 第二节 数据库启动停止的问题分析 1、gpstop 有哪些几步操作 2、too many clients alrrady 3、database is in recovery mode / is starting up 4、gpstart 有哪些几步操作 5、postmaster.pid 不存在

知识的力量 5350

postgresql服务启动不了

使用了两年左右的postgresql数据库突然启动不了了。 手动启动服务也一直报错。 http://bbs.youkuaiyun.com/topics/340266431?page=1 参考这里面的大神回复的,然后再结合自己的理解,把问题给搞定了,记录下。 1、使用pg_resetxlog命令。 这个命令使用很明显需要到bin目录下。 D:\software\postgresql\bin 进入到

业精于勤荒于嬉;行成于思,毁于随。 3万+

postgresql无法启动,事件查看器提示bogus data in lock file "postmaster.pid

系统:win7 出错yuan'y 删除data 目录下的postmaster.pid文件,重启即可.

一个人的专栏 5952

优化Greenplum数据库

表数据分配 Greenplum是share nothing数据库(没有两个节点共享相同数据),数据基于表中定义的分配键在多个服务器上分布。好的分配键是表的唯一标识,唯一标识可以使单列或者多列(最好使用单列在多个segments中平均分配数据),如果选择好的分布键,每个segment将会有差不多相同的数据行数。 在一个MPP share nothing环境中,一个查询的响应时间是所有segments...

fengfengzai0101的博客 522
上一篇: 技术分享 | Redis 集群架构解析
下一篇: 故障分析 | replace into 导致主备不一致
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值