南大通用GBase 8c数据库集中式场景典型故障分析与解决实践

原文链接:https://www.gbase.cn/community/post/4241
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

南大通用GBase 8c数据库是一款具有多模多态特性的高性能企业级分布式数据库,支持行存、列存、内存等多种存储模式以及单机、主备、分布式部署形态,其中单机和主备式可统称为集中式场景。GBase 8c数据库安装包从南大通用官网获取,地址为GBase 8c V5|下载中心|天津南大通用数据技术股份有限公司|GBASE-致力于成为用户最信赖的数据库产品供应商

本文针对集中式场景下可能出现的部署和运维典型问题,进行故障分析并给出解决方法。总结实际应用场景下故障处理流程如下:

  • 识别故障现象:根据系统提示和用户反馈确定故障表现。
  • 信息收集:收集相关的系统日志、配置文件、环境信息等。
  • 故障定位:通过日志分析和系统检测确定故障原因。
  • 方案制定:根据故障原因制定解决方案。
  • 执行解决:应用解决方案,监控系统恢复情况。
  • 验证测试:确保故障已解决,系统运行正常。
  • 记录总结:记录故障处理过程,总结经验教训。

下面将从环境配置、安装部署等多个角度分析GBase 8c的常见故障,并提供相应的解决策略。

注:使用GBase 8c V5 5.0.0版本

一、环境配置问题

1、系统资源配置不当

故障现象:安装过程中出现资源不足的错误提示。

解决策略:

  •  确保系统资源(CPU、内存、磁盘空间)满足GBase 8c的最低要求。
  •  调整系统配置,如增加共享内存大小(kernel.shmmax)。
问题(1)

问题描述:安装过程中,提示报错信息“Failed to start instance. Error: Please check the gs_ctl log for failure details.”

故障原因:sysctl kernel.shmmax 餐数据配置过小,调整参数以调整系统配置。

解决方法:

1) 编辑配置文件:

vi /etc/sysctl.conf

添加一行kernel.shmmax参数配置:

kernel.shmmax = 18446744073692774399

键入“:wq”退出文件

2) 执行sysctl -p命令使参数生效。

2、防火墙或SELinux限制

故障现象:数据库服务无法正常启动,或无法建立网络连接。

解决策略:

  •  关闭或配置防火墙规则,允许GBase 8c相关端口。
  •  将SELinux设置为宽松模式或正确配置安全策略。

故障原因:防火墙阻拦数据库程序后台运行。

解决方法:

1) 检查防火墙或SELinux状态

-- 检查防火墙状态
systemctl status firewalld.service
-- 检查SELinux状态
sestatus

若显示为disable,检查其他网络问题。

2) 若状态为启用状态,将防火墙或SELinux关闭

-- 停止并禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

-- 关闭SELinux
vim /etc/selinux/config
--设置SELINUX为”disabled”

SELINUX=disabled

--退出文件执行reboot使其生效

二、安装与部署问题

1、安装包依赖缺失

故障现象:安装过程中提示缺少依赖包。

解决策略:

  • 安装缺失的依赖包,如lsof、flex、bison等。
  • 确保安装环境的依赖库与GBase 8c版本兼容。
问题(1)

问题描述:在预安装指定--non-interactive以非交互模式执行前置,即执行命令““gs_preinstall -U gbase -G gbase -X /opt/software/gbase8c/cluster_config.xml” --non-interactive”时报错,显示错误信息“[FAILURE] host203:[GAUSS-51222] : Failed to check hostname mapping. Command: "pssh -s -H host204 hostname". Error:”

解决办法:

1) 安装pssh安装包

yum install pssh -y

2) 检查实际ip和hostname值,修改每个节点中的/etc/hosts文件的ip和hostname,保持和配置文件中的一致。

vim /etc/hosts

修改后执行":wq"保存并退出文件。

问题(2)

问题描述:执行预安装命令“gs_preinstall -U gbase -G gbase -X /opt/software/gbase8c/cluster_config.xml”时报错,显示错误信息“./gs_preinstall: line 7: /opt/software/gbase8c/venv/bin/python3: cannot execute binary file”

错误原因:安装环境不能满足要求,当前的平台与数据库安装包使用的平台不同(如x86平台上使用了其它平台(arm)的安装包):

  • X86平台对应的文件名后缀是x86_64.tar,例如:GBase8cV5_S5.0.0B29_centos7.8_x86_64.tar.gz
  • arm平台对应的文件名后缀是aarch64.tar.gz,例如:GBase8cV5_S5.0.0B29_centos7.6_aarch64.tar.gz
问题(3)

问题描述:以gbase用户执行进行预安装时报错,执行“./gs_preinstall -U gbase -G gbase -X /opt/software/gbase8c/cluster_config.xml”命令返回错误信息“[GAUSS-51400] : Failed to execute the command: su - gbase -c 'cd '/var/log/gbase''. Error:”

错误原因: 执行命令失败,检查是否有权限执行命令,发现配置文件中gaussdbLogPath值对应的目录的所有者为其他用户,gbase用户无权限访问该目录。不同用户在同一套环境安装数据库时,未清理干净环境,可能出现此问题。

解决方法:

修改目录的所有者为gbase用户

chown gbase:gbase -R /var/log/gbase/

2、配置文件错误

故障现象:配置文件格式错误或参数设置不当。

解决策略:

  • 使用YAML或XML格式校验工具检查配置文件。
  • 根据官方文档调整配置参数。

三、运行时故障

1、性能瓶颈

故障现象:数据库查询响应慢,系统资源利用率异常。

解决策略:

  • 使用性能分析工具(如top、htop、nmon)监控系统资源。
  • 根据USE方法(Utilization、Saturation、Errors)定位性能瓶颈。
2、死锁问题

故障现象:事务长时间无法完成,系统日志中出现死锁信息。

解决策略:

  • 分析死锁日志,确定死锁的资源和事务。
  • 优化应用逻辑,避免死锁发生。

四、日志分析

1、SQL日志

故障现象:执行SQL语句失败。

解决策略:

  • 查看pg_log目录下的日志文件,分析错误原因。
  •  根据错误提示调整SQL语句或系统配置。

2、高可用日志

故障现象:高可用组件异常,如GTM、CN、DN状态不正常。

解决策略:

  • 查看高可用组件的日志,确定故障节点和时间。
  • 根据日志信息进行故障恢复操作。


GBase 8c的故障分析和解决是一个系统性工作,需要对数据库的运行机制和配置管理有深入理解。通过不断学习和实践,可以提高故障处理的效率和质量,确保数据库系统的稳定运行。

原文链接:https://www.gbase.cn/community/post/4241
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值