当前位置: 首页 > news >正文

openGauss常见问题与故障处理(二)

2.网络故障定位手段
2.1 网络故障定位手段--常见网络故障引发的异常
在数据库正常工作的情况下,网络层对上层用户是透明的,但数据库在长期运行时,可能会由于各种原因导致出现网络异常或错误。
常见的因网络故障引发的异常有:
1> 数据库启动失败,报网络错误
2> 状态异常,如:节点上所有的实例都是unknown或者所有主机都切换为备机
3> 网络连接建立失败
4> 对数据库执行SQL操作时,报网络异常中断的错误
5> 连接数据库或执行查询时发生进程停止响应。数据库出现了网络故障后,主要通过使用Linux系统提供的网络相关命令工具
(ping、ifconfig、netstat、lsof等),进程堆栈查看工具(gdb、gstack),结合数据库的日志信息,进行分析定位。
本节通过举例介绍常见的网络问题,并进行基本的分析定位。

2.2 网络故障定位手段--数据库启动失败,报网络错误
问题现象1:
日志中存在如下错误信息,可能是端口被其他进程侦听
LOG:cloud not bind socket at the 10 time,is another postmaster already running on port 26000?

处理方法:
执行如下命令查看侦听该端口的进程,端口号请根据实际端口号替换
Gaiem# netstat -anop | grep 14880
根据查询结果,强行停止正在占用端口的进程或者更改数据库侦听端口

问题现象2:
使用gs_om -t status --detail查询状态,如果显示主备间连接未建立。

处理方法:
在openEuler操作系统下,使用systemctl status firewalld.service命令,查看节点上是否开启了防火墙。
如果开启,使用systemctl stop firewalld.service关闭防火墙
# systemctl status firewalld.service
操作系统不同,命令可能不同,使用对应操作系统命令查看修改

2.3 网络故障定位手段--数据库状态异常
问题现象:
某一节点上出现所有实例都是unknown或者所有主实例都切换成了备实例或者查询中出现大量connection reset by peer,connection timed out等报错信息。

所有实例都是unknown这种状态,大家可能平时很少遇到过,所以对这种状态的理解,咱们可以举一个模拟场景中的肖荏盖的反向的例子来帮助大家理解。

对于初学者入门的学习,一些理论不容易理解或记住,所以本节课程【创新】采用了【正、反对比联想记忆】的方法,
引入模拟场景中的肖荏盖的小故事。(模拟场景为虚构演绎,仅供教学,不要对号入座,懂不懂?明白吗?)

【数据库的功能都是正向的,模拟场景中的肖荏盖做的事情都是反向的。】

模拟场景:肖荏盖接到一个电话,让他们去某个公司帮忙解决问题,其实这个问题就是比较高级的问题了,鱿鱼肖荏盖一直是中级工程师,而且喜欢自吹自擂,名不副实,所以到了现场解决不了那个问题。
他就打电话问遍了芸芬愁砚所有的工程师,结果是全都回答:不会。
肖荏盖只能偷偷摸摸求助某上市公司超级大师蓝阔福的徒弟,康副业来解决问题。
在模拟场景中,肖荏盖的行业里有这么一个传言,就是芸芬愁砚的每一个人都是酒囊饭袋,其实这种说法是错误的、是不负责任的、是不准确的。
准确的说法是:芸芬愁砚只有肖荏盖一个人是纯酒囊,芸芬愁砚的其他人每一个人酒量都不是很好,都是纯饭袋,只有他们组合起来,形成合力,才是真正的酒囊饭袋。
所以,平时学知识的时候,也不能因为人云就亦云,要有自己的分析和见解,模拟场景中,超级大师蓝阔福正是坚定自己的信念,坚守正道,不断学习,才取得真正的成功,带领他的公司成为上市公司。
反观肖荏盖,天天就像丘处机一样,到处说自己从业多少多少年,每次开饭之前先说一遍,从业多少年(大家不要误会,这可不是什么祷告词),肖荏盖喝完了酒还是这一套,从业了多少年,实际技术功力完全就是没有任何提升,
肖荏盖从业几十年,唯一提升最明显的,那就是酒量了。
肖荏盖经常在喝醉了就各种承诺技术兜底,其实他们全体中级工程师根本不具备兜底的能力,全指望某上市公司超级大师蓝阔福的徒弟,康副业。
由此可见,超级大师蓝阔福的徒弟们,还都是很厉害的,毕竟随便请出来一位徒弟,接一接私活,都能挽救一个濒临倒闭的公司呢。当然,也不是白挽救,肖荏盖也不是白求人家徒弟的,这也很正常的。
所以,提醒大家,打铁还需自身硬,要向模拟场景中的超级大师蓝阔福学习,不要向模拟场景中的肖荏盖全家学习。

读完模拟场景,我们还是要回到现实,重新来看问题现象:
某一节点上出现所有实例都是unknown或者所有主实例都切换成了备实例或者查询中出现大量connection reset by peer,connection timed out等报错信息。

处理办法:
1> 如果ssh不能连接故障机器,在其他机器上使用ping命令向该机器发数据包。如果可以ping通,说明可能是该资源(内存、CPU、磁盘)耗尽导致不能建立连接。
2> 如果ssh可以连接该机器,尝试执行查询,并每隔1s执行/sbin/ifconfig eth?(?代表数字,表示第几个网卡)命令,
查看如下信息中的dropped及errors值的变化情况,如果增长迅速,可能是网卡或网卡驱动故障。
ifconfig enp42zdrsggq

2.4 网络故障定位手段--网络连接建立失败
问题现象1:节点连接其他节点失败,日志中报出“connection refused”错误
处理办法:
1> 查看端口是否配置错误,导致连接时使用的端口并非对方侦听的端口。查看报错节点配置文件postgresql.conf记录端口号与对方侦听的端口号是否一致。
2> 查看对方端口侦听是否正常(可以使用“netstat -anp”命令)或者查看对方进程是否存在。

问题现象2:对数据库执行SQL操作时,获取连接描述符失败,报错如下:
WARNING:29483313:incomplete message from client:4905,9
WARNING:29483313:failed to receive connDefs at the time:1.
ERROR:29483313:failed to get pooled connections

在日志中,找到上面的错误,并向上查看一段日志内容,可以看到详细的错误信息,常见的错误如下所示,
主要是由于主备信息不正确导致。
FATAL:dn_6001_6002:can not accept connection in pending mode.
FATAL:dn_6001_6002:the database system is starting up.
FATAL:dn_6009_6010:can not accept connection in stanby mode.

处理办法
使用gs_om -t status --detail查询状态,确认是否发生过主备切换,重置实例状态。
此外,需要查看连接失败的节点是否发生了core或者重启。通过om日志可以查看到是否发生了重启。

2.5 网络故障定位手段--执行SQL报网络异常中断错误
问题现象1:查询执行失败,报错信息如下。
ERROR:dn_6065_6066:Failed to read response from Datanodes.Detail:Connection reset by peer.Local:dn_6065_6066
Remote:dn_6023_6024
ERROR:Failed to read response from Datanodes Detail:Remote close socket unexpectedly
ERROR:dn_6155_6156:dn_6151_6152:Failed to read vector response from Datanodes

连接建立失败,报错信息如下:
ERROR:Distribute Query unable to connect xxx.xxx.xxx.xxx:14600 [Detail:stream connect connect() fail:Connection timed out]
ERROR:Distribute Query unable to connect xxx.xxx.xxx.xxx:12600 [Detail:receive accept response fail:Connection timed out]

处理办法:
使用gs_check检查网络配置是否符合标准
查看是否有进程发生core或重启,以及主备切换
如果不存在上述问题,可以联系网络技术人员做具体分析。
 

相关文章:

openGauss常见问题与故障处理(二)

2.网络故障定位手段 2.1 网络故障定位手段--常见网络故障引发的异常 在数据库正常工作的情况下,网络层对上层用户是透明的,但数据库在长期运行时,可能会由于各种原因导致出现网络异常或错误。 常见的因网络故障引发的异常有: 1>…...

Mysql 8迁移到达梦DM8遇到的报错

在实战迁移时,遇到两个报错。 一、列[tag]长度超出定义 在mysql中,tag字段的长度是varchar(20),在迁移到DM8后,这个长度不够用了。怎么解决? 在迁移过程中,“指定对象”时,选择转换。 在“列映…...

Android HandlerThread 基础

HandlerThread **一、HandlerThread的基本概念和用途**1. **目的**2. **与普通线程的区别** **二、HandlerThread的使用步骤**1. **创建HandlerThread对象并启动线程**2. **创建Handler并关联到HandlerThread的消息队列**3. **发送消息到HandlerThread的消息队列** **三、Handl…...

【智能算法应用】人工水母搜索算法求解二维路径规划问题

摘要 本文基于人工水母搜索算法(Jellyfish Search Algorithm, JSA),对二维路径规划问题进行了研究。JSA作为一种新兴的群体智能优化算法,模仿了水母在海洋中觅食和迁移的行为,以求解非线性、复杂的优化问题。实验结果…...

【Altium】原理图如何利用参数管理器批量修改元器件属性

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决在使用AD设计原理图的时候,使用参数管理器批量修改元器件的属性。 2、 问题场景 客户在使用ad时,想大批量修改元器件的属性,类似于Cadence中,批量修改Manufactur…...

基于Spring Boot与Redis的令牌主动失效机制实现

目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…...

深度学习之循环神经网络(RNN)

1 为什么需要RNN? ​ 时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。一般的神经网络,在训练数据足够、算法模型优越的情况下,给定特定的x,就能得到期望y。其一…...

Autosar CP Network Management模块规范导读

Network Management模块的主要功能 网络管理适配:作为通信管理器和总线特定网络管理模块之间的适配层,实现不同总线网络管理功能的统一接口,确保系统中各种网络的协同工作。协调功能 网络协调关闭:使用协调算法协调多个网络的关闭,确保它们在合适的时间同步进入睡眠模式,…...

Xshell 7 偏好设置

1 Xshell7 工具——更改用户数据文件夹 就是此电脑目录下的文档 该目录下的7 Xshell下的 applog ColorScheme Files 配色方案文件目录 HighlightSet Files 突出显示集目录 Logs 日志 QuickButton Files 快速命令集 Scripts 脚本文件 Sessions 会话文件 会话文件目录就…...

云计算答案

情境一习题练习 一、选择题 1、在虚拟机VMware软件中实现联网过程,图中箭头所指的网络连接方式与下列哪个相关( C )。 A.仅主机模式 B.桥接 C.NAT D.嫁接 2、请问下图这个虚拟化架构属于什么类型( A …...

浅谈现货白银与白银td的价格差异

西方资本主义世界崇尚自由经济,而我国实行社会主义市场经济,因此二者在金融系统上存在不少差异,反映在贵金属市场中,可能直接表现为价格上的差异。如果投资者对此能有基本的了解,日后面对交易中的特殊价格波动&#xf…...

【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动

前言 首先看网络编程的定义:两个不同主机设备之间的进程通信。C/S(Client-Server)是早期非常典型的软件架构,C/S架构虽然简单,但却非常适用于桌面图形化的QT项目。 本篇的QT项目是从真实的项目中简化出来,满足很多相似的场景&…...

【计算机基础——数据结构——AVL平衡二叉树】

1. BST二叉查找树 1.1 BST二叉查找树的特性 左子树上所有结点的值均小于或等于它的根结点的值。右子树上所有结点的值均大于或等于它的根结点的值。左、右子树也分别为二叉排序树。 1.2 BST二叉查找树的缺点 二叉查找树是有缺点的,在不断插入的时候,…...

体育活动赛事报名马拉松微信小程序开发

功能描述 体育活动赛事报名马拉松微信小程序,该项目是一个体育活动报名小程序,主要功能有活动报名、扫码签到、签到积分、排行奖励、积分兑换等功能。 用户端🔶登录:◻️1.微信授权登录 ◻️2.手机号码授权 🔶首页&am…...

【C++】C++基础知识

一.函数重载 1.函数重载的概念 函数重载是函数的一种特殊情况&#xff0c;C允许在同一作用域中声明几个功能类似的同名函数&#xff0c;这些同名函数的形参列表必须不同。函数重载常用来处理实现功能类似&#xff0c;而数据类型不同的问题。 #include <iostream> using…...

中间件安全

IIS IIS短文件漏洞 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。 利用工具 https…...

Zabbix中文监控指标数据乱码

1&#xff09;点击主机&#xff0c;选择Zabbix server 中的 图形 一项&#xff0c;可以看到当前显示的为乱码 2&#xff09; 下载字体文件&#xff1a; https://gitcode.com/open-source-toolkit/4a3db/blob/main/SimHei.zip 解压unzip -x SimHei.zip 3&#xff09; 替换字体文…...

【AI】AI如何赋能软件开发流程

方向一&#xff1a;流程与模式介绍【传统软件开发 VS AI参与的软件开发】 传统软件开发流程 传统软件开发流程一般可以分为以下几个阶段&#xff1a; 1. 需求分析&#xff1a;在这个阶段&#xff0c;开发团队与客户沟通&#xff0c;明确软件的需求和目标。团队会收集、整理和分…...

恒创科技:什么是 RAID 3 ? RAID 3、4 和5之间有什么区别?

RAID 是一种存储数据以提高性能并减少数据丢失的特定技术。您可以根据自己的需求选择多种 RAID 类型。RAID 3 是列表中比较有效的类型之一。本文将重点介绍这种特定的 RAID 技术&#xff0c;并比较 RAID 3、4 和 5。 RAID 3 的定义 RAID 3 是一种特定的磁盘配置&#xff0c;用于…...

python获取iOS最近业务日志的两种方法

当iOS UI自动化用例执行失败的时候&#xff0c;需要获取当时的业务日志&#xff0c;供后续分析使用。 现在已经把iOS沙盒目录挂载到本地&#xff0c;剩下的事情就是从沙盒目录中捞取当前的日志&#xff0c;沙盒中的日志文件较大&#xff0c;整体导出来也可以&#xff0c;但是会…...

【如何获取股票数据43】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深指数历史交易数据获取实例演示及接口API说明文档

最近一两年内&#xff0c;股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步&#xff0c;就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息&#xff0c;这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…...

ESLint 使用教程(一):从零配置 ESLint

前言 在现代前端开发中&#xff0c;代码质量和风格一致性是团队合作和项目维护的重要因素。而 ESLint 作为一款强大的 JavaScript 静态代码分析工具&#xff0c;能够帮助开发者发现和修复代码中的潜在问题。本文将详细介绍 ESLint 的常用规则配置&#xff0c;并结合实际应用场…...

openssl对称加密代码讲解实战

文章目录 一、openssl对称加密和非对称加密算法对比1. 加密原理2. 常用算法3. 加密速度4. 安全性5. 应用场景6. 优缺点对比综合分析 二、代码实战代码说明&#xff1a;运行输出示例代码说明&#xff1a;注意事项 一、openssl对称加密和非对称加密算法对比 OpenSSL 是一个广泛使…...

web前端动画按钮(附源代码)

效果图 源代码 HTML部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> …...

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…...

PostgreSQL数据库笔记

PostgreSQL 是什么 PostgreSQL&#xff08;简称Postgres或PG&#xff09;是一个功能强大、可靠性高、可扩展性好的开源对象-关系数据库服务器&#xff08;ORDBMS&#xff09;&#xff0c;它以加州大学伯克利分校计算机系开发的POSTGRES版本4.2为基础。 发展历程 起源与发展&a…...

财务软件源码SaaS云财务

在如今的商业环境中&#xff0c;准确的财务管理是一家企业取得成功的关键。然而&#xff0c;传统的财务管理方法已经无法满足现代企业的需求&#xff0c;需要一个全新的解决方案。推出了全新的财务软件为您提供完美的解决方案。 选择财务软件源码&#xff0c;您将享受到以下优…...

Elasticsearch集群和Kibana部署流程

搭建Elasticsearch集群 1. 进入Elasticsearch官网下载页面&#xff0c;下载Elasticsearch 在如下页面选择Elasticsearch版本&#xff0c;点击download按钮&#xff0c;进入下载页面 右键选择自己操作系统对应的版本&#xff0c;复制下载链接 然后通过wget命令下载Elastics…...

丹摩征文活动 | 丹摩智算:大数据治理的智慧引擎与实践探索

丹摩DAMODEL&#xff5c;让AI开发更简单&#xff01;算力租赁上丹摩&#xff01; 目录 一、引言 二、大数据治理的挑战与重要性 &#xff08;一&#xff09;数据质量问题 &#xff08;二&#xff09;数据安全威胁 &#xff08;三&#xff09;数据管理复杂性 三、丹摩智算…...

【Django】Clickjacking点击劫持攻击实现和防御措施

Clickjacking点击劫持 1、clickjacking攻击2、clickjacking攻击场景 1、clickjacking攻击 clickjacking攻击又称为点击劫持攻击&#xff0c;是一种在网页中将恶意代码等隐藏在看似无害的内容&#xff08;如按钮&#xff09;之下&#xff0c;并诱使用户点击的手段。 2、clickj…...

高品质的佛山网站建设/微商软文大全

题目描述 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵中的某一…...

海口网站建设方案/广告竞价排名

实现效果 前端代码&#xff1a; <!--v-model 实现双向数据绑定 绑定变量selectModel change绑定changeModel($event)方法&#xff0c;为模型改变触发的函数--> <select idmodel v-model"selectModel" style"width:100px" change"changeMod…...

网站里面的数据库是怎么做的/哪里有学电脑培训班

/* SimpleBLEPeripheral初始化的工作&#xff1a; 1.广播数据设置 2.配对数据设置 3.Initialize GATT attributes (加服务) 4.Setup the SimpleProfile Characteristic Values&#xff08;设置特征值&#xff09; 5.注册回调函数 6.设置事件 */ SimpleBLEPeripheral_Init() {//…...

厦门市同安区建设局公开网站/外贸网站有哪些

Selenium 封装了现成的文件上传操作。但是随着现代前端框架的发展&#xff0c;文件上传的方式越来越多样。而有一些文件上传的控件&#xff0c;要做自动化控制会更复杂一些&#xff0c;这篇文章主要讨论在复杂情况下&#xff0c;如何通过自动化完成文件上传 input 元素上传文件…...

wordpress清理缓存/windows优化大师有什么功能

HTTP是Hyper Text Transfer Protocol的缩写&#xff0c;顾名思义&#xff0c;这个协议支持着超文本的传输。那么什么是超文本呢&#xff1f;说白了就是使用HTML编写的页面。通常&#xff0c;我们使用客户端浏览器访问服务器的资源&#xff0c;最常见的URL也是以html为后缀的文件…...

拓者设计吧邀请码/长春网站优化流程

图片来源&#xff1a;https://yq.aliyun.com/articles/61960?utm_campaignwenzhang&utm_mediumarticle&utm_sourceQQ-qun&utm_contentm_10571 转载于:https://www.cnblogs.com/xiaolovewei/p/9061398.html...