Greenplum数据库故障排查及修复
  2OOtxGRti36O 2023年11月02日 35 0

场景一:gp服务正常,存在部分segment实例丢失

1.1、异常现象

主节点切换gpadmin用户输入gpstate查看状态

[gpadmin@node1 root]$ gpstate

Greenplum数据库故障排查及修复_内存溢出

如果红色框内有指向左边的箭头则说明存在部分segment实例丢失。

使用gpcc查看发现有一个节点故障

Greenplum数据库故障排查及修复_内存溢出_02

1.2、排查思路

首先查看主节点日志,重点关注发生segment丢失那段时间的日志;

主节点日志目录一般为 /usr/local/godb/data/master/gpseg-1/pg_log/

已知可能造成segment丢失的原因:频繁的内存溢出。

1.3、解决步骤

在主节点gpadmin用户下执行:

  • 步骤一:gprecoverseg

[gpadmin@node1 root]$ gprecoverseg

Greenplum数据库故障排查及修复_内存溢出_03

如果执行失败或存在部分失败,执行步骤二,否则直接执行步骤三

  • 步骤二:gprecoverseg -F

[gpadmin@node1 root]$ gprecoverseg -F

Greenplum数据库故障排查及修复_内存溢出_04

  • 步骤三:gprecoverseg -r

等待执行结束再次使用gpstate检查gp状态。

[gpadmin@node1 root]$ gpstate -e

Greenplum数据库故障排查及修复_内存溢出_05

使用GPCC监控平台查看发现故障节点已经恢复正常。

Greenplum数据库故障排查及修复_内存溢出_06


场景二:gp启动失败,segment实例可用数已不足一半

2.1、异常现象

主节点切换gpadmin用户输入gpstart启动数据库

Greenplum数据库故障排查及修复_内存溢出_07

如果未出现红框内字样,说明启动失败。

2.2、排查思路

使用 gpstart -v 查看启动日志明细;

进入主节点日志目录/usr/local/godb/data/master/gpseg-1/pg_log/查看 startup.log 和最新的 ggpdb-2023-07-15_xxxxxx.csv 日志;

根据这些日志锁定出问题的segment实例是哪个,然后查看对应实例的日志 startup.log 和最新的 gpdb-2023-07-15_xxxxxx.csv;

重点关注日志级别为ERROR、FATAL的内容,逐个解决即可;

可能存在的问题:数据目录存在目录或文件权限不足、损坏文件等。

2.3、解决步骤

按照排查思路对存在的问题逐个解决,直至至少半数的segment启动成功,此时大概率是场景一的现象,按照场景一流程解决。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

2OOtxGRti36O
最新推荐 更多

2024-05-31