Greenplum数据库故障排查及修复

Posted 总要冲动一次

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Greenplum数据库故障排查及修复相关的知识,希望对你有一定的参考价值。

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

1、异常现象

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

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

2、排查思路

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

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

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

3、解决步骤

在主节点gpadmin用户下执行:

  • 步骤一:gprecoverseg

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

  • 步骤二:gprecoverseg -F
  • 步骤三:gprecoverseg -r

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

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

1、异常现象

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

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

2、排查思路

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

进入主节点日志目录/usr/local/godb/data/master/gpseg-1/pg_log/查看 startup.log 和最新的 gpdb-2022-11-25_xxxxxx.csv 日志;

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

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

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

3、解决步骤

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

以上是关于Greenplum数据库故障排查及修复的主要内容,如果未能解决你的问题,请参考以下文章

greenplum 集群故障(Sorry,too many clients already )排查:

GitHub再次出现500故障 目前官方正在进行排查和修复中

常见服务器故障类型及排查方法总结

线上故障突突突?如何紧急诊断排查与恢复

GreenPlum数据库故障恢复测试

Redis 故障排查「连接失败问题排查和解决」带你总体分析CPU及内存的使用率高问题排查指南及方案