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 )排查: