首页 > 其他分享 >openGauss 服务启动失败

openGauss 服务启动失败

时间:2024-05-13 14:19:09浏览次数:19  
标签:10 启动 数据库 实例 失败 openGauss 目录

服务启动失败

问题现象

服务启动失败。

原因分析

  • 配置参数不合理,数据库因系统资源不足,或者配置参数不满足内部约束,启动失败。
  • 由于部分数据节点状态不正常,导致数据库启动失败。
  • 目录权限不够。例如对/tmp目录、数据库数据目录的权限不足。
  • 配置的端口已经被占用。
  • 开启了系统防火墙导致数据库启动失败。
  • 组成数据库的各台机器之间需要正确建立互信关系,在互信关系出现异常的情况下,数据库将无法启动。
  • 若数据库控制文件损坏。

处理办法

  • 确认是否由于参数配置不合理导致系统资源不足或不满足内部约束启动失败。

    • 登录启动失败的节点,检查运行日志确认是否因资源不足启动失败或配置参数不满足内部约束。例如出现Out of memory的错误或如下错误提示均为资源不足或配置参数不满足内部约束导致的启动失败。
FATAL: hot standby is not possible because max_connections = 10 is a lower setting than on the master server (its value was 100)
  • 检查GUC参数配置的合理性。例如,shared_buffers、effective_cache_size、 bulk_write_ring_size等消耗资源过大的参数;或max_connections等增加后不容易减少的参数。 GUC参数的查看及设置方法,详情请参见参数配置.md

  • 确认是否由于实例状态不正常,导致数据库启动失败。通过gs_ctl query工具,查询当前数据库各主备机实例的状态。

    • 如果某一节点上的所有实例都异常,请进行主机替换。

    • 如果发现某一实例状态为Unknown、Pending和Down的状态,则以数据库用户登录到状态不正常的实例所在节点,查看该实例的日志检查状态异常的原因。例如:

      2014-11-27 14:10:07.022 CST 140720185366288 FATAL:  database "postgres" does not exist 2014-11-27 14:10:07.022 CST 140720185366288 DETAIL:  The database subdirectory "base/ 13252" is missing.
      

      如果日志中出现上面这种报错信息,则说明该数据节点的数据目录文件遭到破坏,该实例无法执行正常查询,需要进行替换实例操作。

  • 目录权限不够处理办法。例如,对/tmp目录、数据库数据目录的权限不足。

    • 根据错误提示,确认权限不足的目录名称。

    • 使用chmod命令修改目录权限使其满足要求。对于/tmp目录,数据库用户需要具有读写权限。对于数据库数据目录,请参考权限无问题的同类目录进行设置。

  • 确认是否由于配置的端口已经被占用,导致数据库启动失败。

    • 登录启动失败的节点,查看实例进程是否存在。

    • 如果实例进程不存在,则可以通过查看该实例的日志来检查启动异常的原因。例如:

      2014-10-17 19:38:23.637 CST 139875904172320 LOG:  could not bind IPv4 socket at the 0 time: Address already in use 2014-10-17 19:38:23.637 CST 139875904172320 HINT:  Is another postmaster already running on port 40005? If not, wait a few seconds and retry.
      

      如果日志中出现上面这种报错信息,则说明该数据节点的TCP端口已经被占用,该实例无法正常启动。

      2015-06-10 10:01:50 CST 140329975478400 [SCTP MODE] WARNING: (sctp bind)         bind(socket=9, [addr:0.0.0.0,port:1024]):Address already in use  --  attempt 10/10 2015-06-10 10:01:50 CST 140329975478400 [SCTP MODE] ERROR: (sctp bind)   Maximum bind() attempts. Die now...
      

      如果日志中出现上面这种报错信息,则说明该数据节点的SCTP端口已经被占用,该实例无法正常启动。

  • 通过sysctl -a查看net.ipv4.ip_local_port_range,如果该实例配置的端口在系统随机占用端口号的范围内,则可以修改系统随机占用端口号的范围,确保xml文件中所有实例端口号均不在这个范围内。检查某个端口是否被占用的命令如下。

    netstat -anop | grep 端口号
    

    示例如下。

    [root@openGauss36 ~]# netstat -anop | grep 15970
    tcp        0      0 127.0.0.1:15970         0.0.0.0:*               LISTEN      3920251/gaussdb      off (0.00/0/0)
    tcp6       0      0 ::1:15970               :::*                    LISTEN      3920251/gaussdb      off (0.00/0/0)
    unix  2      [ ACC ]     STREAM     LISTENING     197399441 3920251/gaussdb      /tmp/.s.PGSQL.15970
    unix  3      [ ]         STREAM     CONNECTED     197461142 3920251/gaussdb      /tmp/.s.PGSQL.15970
    
  • 确认是否是由于开启了系统防火墙导致数据库启动失败。

  • 确认是否由于互信关系出现异常,导致数据库无法启动。重新配置数据库中各台机器的互信关系解决此问题。

  • 确认是否由于数据库控制文件如gaussdb.state损坏或文件被清空,导致数据库无法启动。若主机控制文件损坏,可触发备机failover,然后通过重建恢复原主机;若备机控制文件损坏,可直接通过重建方式恢复备机。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:10,启动,数据库,实例,失败,openGauss,目录
From: https://www.cnblogs.com/renxyz/p/18189104

相关文章

  • openGauss 分析查询语句长时间运行的问题
    分析查询语句长时间运行的问题问题现象系统中部分查询语句运行时间过长。原因分析查询语句较为复杂,需要长时间运行。查询语句阻塞。处理办法以操作系统用户omm登录主机。使用如下命令连接数据库。gsql-dpostgres-p8000postgres为需要连接的数据库名称,800......
  • pytest 学习 - 02 失败重新运行
    前言测试失败后要重新运行n次,要在重新运行之间添加延迟时间,间隔n秒再运行安装:pipinstallpytest-rerunfailures案例importpytestclassTestDemo:deftest_a(self):print("失败用例")assert1==2deftest_b(self):print("成功用......
  • Kibana系列---【重新启动kibana后,访问一直显示:Kibana server is not ready yet,查看
    重新启动kibana后,访问一直显示:Kibanaserverisnotreadyyet,查看后台错误日志报master_not_discovered_exception1.问题描述我的kibana之前都是好的,我把es集群重启之后,再重启kibana,发现无法访问了,访问时一直报:Kibanaserverisnotreadyyet,查看服务器后台日志后发现报:m......
  • debian 12 设置启动界面(文本或图形)
    默认启动界面为图形界面。1.查看启动界面现状:systemctlget-default2.设置启动界面为文本模式:systemctlset-defaultmulti-user.target3.设置启动界面为图形模式:systemctlset-defaultgraphical.target4.重启系统:reboot ......
  • 使用 Playwright 控制浏览器的启动、停止和等待
    简介Playwright是一个强大的自动化测试工具,它不仅可以模拟用户在浏览器中的行为,还能够灵活控制浏览器的启动、停止和等待操作。在本文中,我们将探讨如何使用Playwright进行这些操作。启动停止浏览器我们之前是使用with方法来控制浏览器启动和停止,现在我们来介绍一下使用star......
  • playwright使用:启动浏览器与多种运行方式
    前言在本文中,我们将介绍如何使用Playwright这一现代化的浏览器自动化工具来启动浏览器,并深入了解其运行方式。Playwright是一个功能强大的工具,可以帮助开发人员自动化测试、网页截图、信息提取等任务。它支持多种浏览器,包括Chrome、Firefox和WebKit。启动浏览器上一篇文章中,我......
  • 如何同时或者按顺序间隔启动多个程序
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、打开工具,切换到定时器模块,快捷键:Ctrl+3 2、新建一个定时器,我这里演示同时打开多个程序(比如同时启动多个QQ,或者多个微信等),那就把单次数量提高,如果想每次执行这个定时器里面的3个事件,那单次数量就是写3,我......
  • [转帖]openGauss数据库性能调优
    https://www.modb.pro/db/29135 概述本文描述了openGauss数据库基于Taishan服务器,在openEuler操作系统上,为了达到数据库的极致性能,所依赖的关键系统级调优配置。硬件规格:CPU:鲲鹏-920(1620)ARMaarch6464核*2内存:>=512G磁盘:NvmeSSD*4(每块大于1TB)网卡:......
  • 分布式存储故障导致数据库无法启动故障处理---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:分布式存储故障导致数据库无法启动故障处理作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]国内xx医院使用了国外医疗行业龙头的pacs系统,由于是一个历史库,存放在分布式存储中,由于......
  • 应用模式启动
    与单作业模式类似,直接执行flinkrun-application命令$bin/flinkrun-application-tyarn-application-ccom.huft.flk117.demo.StreamSocketCntjob_jar/original-fk117-1.0-SNAPSHOT.jar查看web及yarnid2.在命令行中查看或取消作业。$bin/flinklist-tyarn-applic......