-
【功能模块】【操作步骤&问题现象】集群发生主备切换后,在恢复的时候,不同的情况会出现不同的主备同步状态,如startingneed repair(disconnected)catcupbuilding这些不同的状态都是表示啥意思,是什么情况下才会出现的?【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
互联网应用往往80%的时间流量处于低值,IT系统较为空闲;20%的时间处于流量高并发的波峰(如:O2O、游戏、视频等应用)应对此情况较为经济的解决方案是采用混合云方案。将平稳的业务处理能力部署于物理架构或私有云,获得更高的资源可控性和性能。使用公有云作为IT架构种可灵活扩展的储备,在访问量升高时,将过多的请求导入公有云业务集群,从而分担业务压力。使用CloudLink连接公有云与私有云,实现业务的实时数据交互,协同工作。传统的IT架构中,实现多中心容灾需要部署多个几乎一致的数据中心,一般建设周期在6个月至一年,投入巨大,收效甚微。系统正常情况下采用较小状态部署,保证问题发生时可快速扩容。主系统故障时,快速扩容灾备节点到主节点规模,并启用接替主节点工作主系统故障恢复后,快速缩减灾备节点,至较小规模,确保节省成本。
-
【摘要】 GaussDB(DWS) 集群管理CM工具使用介绍。GaussDB 是一款shared nothing架构、由多实例节点组成的分布式数据库产品,每一个节点上都分布着不同的实例,包括管理实例、计算实例、调度实例等。不同的节点、实例之间的角色、状态由CM模块进行协调管理。如下图: CM功能模块包括CMS(Cluster Manager Server)和CMA(Cluster Manager Agent)、CM工具: CMS——仲裁实例,集群管理的核心模块,负责包括计算实例(GTM、DN)HA状态、调度实例(CN)的存活度仲裁和动作命令的下发。 CMA——仲裁代理实例,负责实例状态的监控上报、动作命令执行、告警模块的上报。 CM工具——集群管理工具,将CM管理能力转换为主动下发的一组命令工具。 下文我们通过CM工具简单介绍下CM模块承载的部分管理功能: 如上图,常用的动作包括start、switchover、build、stop、query、restart、view等。 说明:-z、-%arbitration%类参数、-%az%等参数暂时不多赘述,当前华为云发布的产品形态功能不依赖此类参数。 1.start/stop——集群启停,包括完整集群的启停、节点启停、实例启停; cm_ctl stop/start [-n <nodeId> [-D <datapath>]] ;stop/start作为启停的必选参数之一,-n、-D 作为可选分别对应节点、实例级启停,如果启停实例则必须z指定-n节点编号。 如上图:可以通过query的方式查出实例的编号、节点、路径、状态等信息;停止第2个节点的CN实例cm_ctl stop -n 2 -D /data2/data/coordinator. 2.query ——集群信息查询,包括集群的静态信息、状态信息、关系节点信息; cm_ctl query [-v [-C [-s] [-d] [-i] [-F] [-L ALL] [-x] [-p] [P] ]] [[-n NODEID] [-D DATADIR] [-R]];query作为查询的必选参数之一,-n、-D、-R 作为查询实例的接口参数,需要一起使用,分开使用的意义不大;其余参数可单独使用,其中-v参数作为查询集群状态的基础信息最好和-C参数一起使用,可以更容易看出集群结构和实例的HA关系。 查看集群的整体状态信息: 查询与指定节点、实例相关的实例信息: [-v [-C [-s] [-d] [-i] [-F] [-L ALL] [-x] [-p] [P] ]]: -v 可以查询到集群所有实例的详细主备信息,包括HA同步状态、同步位置等信息,在不带-C的情况下未进行信息的过滤和格式化。 -s 可以查询到发生switchover 实例组 -F 查询JAVA UDF实例进程状态 -x 显示状态异常实例 -p 显示实例对应的端口号 -P 显示实例在OS重的PID 3.switchover——主备切换,主要针对集群中存在主备关系的实例角色进行切换; cm_ctl switchover [-n NODEID -D DATADIR [-q]] [-a [-q]],主备切换主要分两种一种实例级切换,一种集群级切换(集群均衡状态恢复)。 实例切换,主要针对实例级别的主备关系切换,cm_ctl switchover -n <nodeId> -D <datapath>; cm_ctl switchover -a 恢复集群所有非初始化均衡状态实例。 4. build——重建实例数据,重建实例要求被重建实例能够被拉起(即参数文件postgresql.conf存在),通过保持HA关系的Primary实例恢复备机实例数据; cm_ctl build -n NODEID -D DATADIR [-b BUILD_MODE] , build只能针对实例级别进行重建,-b表示全量重建。 说明:该功能重点是重建实例下的数据文件,并不能完全重建实例目录下所有的文件,因此在实例故障情况下,建议用OM模块gs_replace接口进行修复。 5. retsart——重启接口,该接口只针对逻辑集群功能,当一个物理集群中包含逻辑集群的情况下,可以通过指定逻辑集群名重启逻辑集群。 cm_ctl restart -L <LCNAME> ;LCNAME可以通过cm_ctl query -Cv -L ALL查询 本文中主要介绍了CM管理模块中部分功能——CM工具使用方法和基本的功能操作,其中选择了较为通用的命令接口进行介绍,其余接口命令可参考产品详细的帮助信息。原文链接:https://bbs.huaweicloud.com/blogs/244355【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中) HOT 【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
-
为什么要进行数据备份? 数据库灾备能力是评价数据库的重要指标之一。GaussDB(DWS)支持线上、线下双集群容灾。支持物理异构、逻辑同构的两套集群进行周期性容灾,满足客户多样化使用需求。 能力介绍: 主容灾能力:生产集群在线周期性备份、灾备集群周期性恢复。根据客户不同需求,灵活设置数据备份恢复周期,有效错开业务高峰,灵活备份恢复。备份恢复期间一次备份恢复故障不影响整个备份恢复流程,能够快速识别,重新拉起任务,数据不丢失。 主备切换能力:生产集群故障,支持灾备集群备升主,快速替代主集群业务。容灾信息配置: 容灾配置文件可以配置容灾任务生产集群的备份文件存储路径、周期性备份全量备份周期、增量备份周期;灾备集群备份文件存储路径、周期性恢复全量恢复周期、增量恢复周期;根据容灾配置文件拉起容灾任务。 生产集群备份任务拉起: 容灾主要通过Gaussdb A内核工具SyncDataToStby.py拉起; 命令:python $GPHOME/script/SyncDataToStby.py -t backup --config-file /data/config/backupRestore.ini灾备集群恢复任务拉起: 命令:python $GPHOME/script/SyncDataToStby.py -t restore --config-file /data/config/backupRestore.ini备升主场景: 生产集群故障,灾备集群升主。 命令:python $GPHOME/script/SyncDataToStby.py -t restore --config-file /data/config/backupRestore.ini –switchover-config /data/config/backupRestore_switch.ini 备集群备升主过程,通知主集群做最后一次增量备份,追平数据,等待备集群恢复完成所有数据,主备切换才会成功。云上环境,主备切换成功后自动以新的主备关系拉起容灾。原文链接:https://bbs.huaweicloud.com/blogs/238797【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中) HOT 【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
-
技术背景随着客户业务对数据可靠性和服务可用性要求的提高,主备架构在OLAP系统中也已被广泛使用。而分析型数据库往往数据量大,节点数多,分布式系统下发生硬件故障已成为常态。对于传统两副本系统(一主一备最大可用HA模式),单节点故障后,为了服务可用性,一般都会选择让另一个正常节点继续提供服务,在故障节点恢复前数据只有单副本运行。而由于数据量大,往往故障节点修复时间和数据重建时间都很长,此时一旦正常主机再次发生故障,将造成数据丢失的严重后果。另外,根据分布式CAP原理,两副本系统一旦采用最大可用策略,将损失分区容错性(即脑裂双主,下文详述)。尽管三副本通过多数派复制策略可以解决上述问题,但三副本带来了更多的存储成本开销,在OLAP数据库中无法成为主流解决方案。因此,GaussDB(DWS)创新性的在数据节点(DN)引入从备概念,使得集群在任意单点故障时仍保持两副本可用,相比传统三副本节约了三分之一的存储空间,但数据可靠性基本持平。技术原理如上图所示,GaussDB(DWS)引入备机和从备的概念,正常情况下主机和备机通过日志流复制和数据页流复制进行强同步,主机与从备仅保持连接并不发送日志和数据,因此从备不占用额外存储资源。当备机发生故障时,主机自动感知,将未完成同步的日志和数据发送给从备,并保持主从强同步。主备同步向主从同步的切换在内核底层HA实现,事务层并不感知,因此不会造成任何报错和不一致。同理,当主机发生故障时,由集群管理感知并仲裁备机升主,升主后的备机连接从备进行主从强同步。因此,在一组DN内发生单点故障后,不会影响服务可用性,同时数据仍然有两份副本的可靠性保障。日志分叉与脑裂尽管GaussDB(DWS)主备间是强同步,但各自落盘顺序总有先后。与绝大多数数据库一样,GaussDB(DWS)的物理日志总是先写主机后写备机。如上图所示,主机崩溃前可能有一部分日志未同步给备机(红色部分未同步,蓝色部分已同步),备机升主后会提供服务,会写入新的日志(绿色部分)。由于物理日志按照lsn顺序递增,主机的红色日志与备机的绿色日志占用了相同的一段lsn,形成冲突,即日志分叉。日志分叉可能带来严重问题,例如一旦分叉后发生集群重启,传统两副本方式可能无法通过日志长度判断应该选谁成为新主,选错将造成数据丢失(应选包含绿色日志的节点为主,因为其可能包含已提交事务;而红色段日志一定不存在已提交事务,可以丢弃)。在引入从备后,主机故障备机升主,升主后将与从备进行强同步,因此从备上的日志一定与新主保持一致。在上述场景中,DN响应升主命令时可以额外判断从备日志,通过校验CRC来判断日志是否分叉,与从备日志一致的才能升主成功,从而保证了仲裁的正确性和数据的一致性。此外,在极限断网、进程僵死、集群管理失效等场景下,有可能在主机存活时错误的将备机升主,形成双主脑裂。传统的两副本HA机制无法识别此类场景,只能通过外部加固手段减少脑裂发生的概率。而在主备从架构下,从备可临时作为仲裁者,类似三副本多数派机制。DN响应升主时与从备建连并进行日志校验,只有与从备形成多数派的主机才实际有效,而另外的主机因无法与从备强同步而自动失效,从而解决了脑裂的问题。数据可靠性对于服务可用性,主备从HA与三副本多数派复制和两副本最大可用HA相同,都能够容忍单副本故障。对于数据可靠性,主备从HA提供了强于两副本、接近三副本的能力。以上图所示场景为例,备机故障一段时间后恢复。从时间轴上看,可以分为P1主备同步、P2主从同步、P3备机追赶和P4主备同步四个阶段。P1/P4:主备同步,数据拥有两副本可靠性,数据可靠性与传统两副本相同。P2:发生单节点故障,主从同步,数据仍然具有两副本可靠性,优于传统两副本。此时如果主机磁盘损坏无法恢复,由于从备仍有一份数据,当备机恢复后即可提供服务,而传统两副本则必须等待主机恢复才能提供服务,否则会数据丢失。P3:备机恢复后追赶P2阶段生成的日志和数据,此时主机仍然与从备强同步并正常服务。追赶阶段一旦发生主机故障,备机升主时可以连接从备补齐日志和数据并提供服务;而传统两副本则因备机没有追赶完成而无法恢复服务,否则会数据丢失。以上,主备从HA在P2、P3阶段相比两副本有额外的可靠性优势。而相比三副本,只有在主备两节点都发生磁盘损坏且不可恢复的场景下,可靠性方面具有劣势。总结综上所述,主备从HA在保持了两副本存储成本的前提下,解决了传统两副本最大可用HA模式中因日志分叉造成的数据一致性问题和脑裂问题,同时提供了接近三副本的更高数据可靠性。原文链接:https://bbs.huaweicloud.com/blogs/175249【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中) HOT 【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
-
1 GTM概述: GTM全称为全局事务管理器,是系统中的常驻进程,主要作用是分发xid(事务ID)、snapshot(快照)、sequence(序列)等信息。为了保证事务标识的一致性和全局唯一性,在集群中只有一个主GTM提供服务,并采用了主备方式,从而实现了高可用。在连接方面,GTM是被动连接的,它不关心连接方的节点类型(是CN还是DN),只会根据接收到的报文信息,进行相应处理,并返回消息。一般情况下,CN会在事务执行阶段连接GTM获取XID和snapshot,DN在AutoVaccumWork时获取XID,CM在仲裁GTM时获取状态信息。GTM在架构中的关系如图1所示。图1 GTM在架构中的关系图 注: a) Coordination:名为协调者,是所有客户端(gsql,jdbc,odbc)的入口,执行解析器、优化器、分布式事务等。 b) CM:名为集群管理,保障各个组件自动化协同工作。 c) DN:名为数据节点,是数据存储引擎,支持行存和列存、HDFS存储、向量化引擎和HA等。 d) xid:事务ID,具有全局一致性。 e) snapshot: 快照,用来判断给定的事务是否还在运行,如果一个事务在快照之中,那么即使该事务已经结束了也会被认为是正在运行 f) Sequence:序列,是用来产生唯一整数的数据库对象。序列的值是按照一定规则单挑自增的整数。因为自增所以不重复,因此sequence具有唯一性,常用于做主键。 二 GTM工具和文件简述2.1 GTM工具GTM二进制常用工具有两个:gtm_ctl和gtm_initgtm。该类工具都是单线程执行,不存在多线程并发。gtm_ctl通过信号控制GTM的进程,包括GTM的启停和升主降备,GTM的switchover和failover,以及GTM的状态查询和同步设置等命令。例如GTM启动命令:gtm_ctl -Z gtm -D ../gtm start。gs_initgtm主要在集群安装时用于生产GTM配置文件。例如gtm.control,gtm.conf等文件。2.2 GTM文件 gtm.conf是GTM的配置文件,GTM启动时会解析该文件的参数,具体参数含义如表1。 表1 gtm.conf参数表gtm.control:是GTM控制文件,用来存放xid、timeline,文件格式如下: xid timeline transaction_num (默认是1)gtm.sequence:存放GTM的uuid和sequence文件,数据行数不定,文件格式如下: uuid seq1 info (包括sequence的基本属性值) seq2 info 。。。。gtm.pid:存储GTM的进程号和数据目录等。gtm.opts:存储GTM启动arguments参数。三GTM的HA机制 3.1 GTM的状态 在GTM的HA机制,我们将GTM分为三种类型的状态,分别为主机状态、连接状态和同步状态,下面简要介绍三种类型的状态。GTM 主机状态有四种: 1:Pending:初始启动状态,GTM待仲裁状态。 2:Priamry:主GTM状态表示。 3:Standby:备GTM状态表示。 4:Unknow:GTM进程不在的状态。GTM连接状态,表示主GTM与备GTM或ETCD的连接状态。 1:Connection ok:主备连接正常或与ETCD连接正常。 2:Connetion bad:主备连接异常。GTM同步状态,表示GTM的同步逻辑。 1:Most available:最大可用模式。当无ETCD,且主备GTM连接异常时,主GTM的同步状态为该状态。 2:Sync:同步状态。3.2 GTM的状态切换流程简述GTM的状态切换流程如图2所示。CM拉起的GTM状态初始都是Pending状态,然后通过比较xid决定主备,xid大的为主GTM,xid小的为备GTM。当主备连接异常且无ETCD时,主GTM的同步状态会变为most_available。当主GTM出现问题时,CM会仲裁备GTM,通过failover升主GTM,如果无ETCD,那么同步状态变为most available。也可以通过switchover进行主备GTM转换,此时同步状态不会变化。图2 GTM状态切换流程图3.3 GTM同步机制 GTM的同步需要满足相应的同步条件并处于对应的同步模式才可以进行。例如xid的同步需要满足curval(当前值)>=backupVak(备份值)且GTM_SyncGXIDFlag为true时才可进行同步。Sequence的同步也要满足curval(当前值)>=backupVak(备份值)的条件,sequence创建时会默认同步一次。此外还需要处于相应的同步模式下才可以,有三种同步模式: a) sync auto:异步同步模式。GTM以pending模式启动后,所呈现的初始同步模式。 b) sync on:强同步模式。当GTM主备启动后,CM_Server接收到CM_Agent上报的主备GTM连接正常的消息时,会将GTM主备的同步状态从sync auto置为sync on。 c) sync off:GTM主备不同步并且主GTM也不与ETCD同步。Sync off默认不使用。 注: 1 在主备从无ETCD集群中,如果主备连接异常,主GTM的同步状态会变为most available。而在有ETCD的集群中,无论主备是否连接异常或挂掉,ETCD是否挂掉,都不会切换最大可用模式。 2 只有GTM处于sync on模式下,failover和switchover操作才可进行。原文链接:https://bbs.huaweicloud.com/blogs/198243【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中) HOT 【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
-
MPPDB备cmserver的主机IP地址,该地址必须是集群中存在的IP地址,且需要配置在业务平面,CMServer与GTMServer部署节点互为主备,建议coordinator不部署在这两个节点上。集群运行过程中,不允许调整CMServer、GTMServer所在节点到其他节点。LLD配置规划工具-集群参数配置 中针对CMS和GTM要求是互为主备的,这样要求的依据是啥?如果不这样配置会有什么问题?
-
【功能模块】【操作步骤&问题现象】一直有个问题想问下,我们的集群在发生主备切换后, 为什么一定要切回来呢,如果不切回来,会有什么影响?备升主后,就一直让备作主的话,会有什么问题?【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
尊敬的华为云客户:华为云计划于2021/02/01 00:00(北京时间)对数据复制服务(DRS)如下场景正式开始计费,此次计费仅对2021/02/01 00:00(北京时间)后启动的DRS任务生效,具体价格详情如下:公有云计费模式如下:场景引擎关系区域入云出云配置费用数据传输费(仅公网)配置费用数据传输费(仅公网)实时迁移源:MySQL目标:GaussDB(for MySQL)中国站1周内免费,超过1周计费2.4元/时入云免费24元/时1.5元/G实时迁移源:MySQL目标:GaussDB(for MySQL)中国站(香港)1周内免费,超过1周计费2.8元/时入云免费28元/时2.24元/G实时迁移源:MySQL目标:GaussDB(for MySQL)中国站(亚太-曼谷)1周内免费,超过1周计费2.5元/时入云免费25元/时1.55元/G实时迁移源:MySQL目标:GaussDB(for MySQL)中国站(亚太-新加坡)1周内免费,超过1周计费2.7元/时入云免费27元/时1.69元/G实时同步源:Oracle/MySQL/RDS MySQL目标:Kafka中国站2.4元/时入云免费24元/时1.5元/G实时同步源:Oracle/MySQL/RDS MySQL目标:Kafka中国站(香港)2.8元/时入云免费28元/时2.24元/G实时同步源:Oracle/MySQL/RDS MySQL目标:Kafka中国站(亚太-曼谷)2.5元/时入云免费25元/时1.55元/G实时同步源:Oracle/MySQL/RDS MySQL目标:Kafka中国站(亚太-新加坡)2.7元/时入云免费27元/时1.69元/G实时灾备源:MySQ目标:MySQL类型:双主灾备中国站2.4元/时入云免费2.4元/时1.5元/G实时灾备源:MySQ目标:MySQL类型:双主灾备中国站(香港)2.8元/时入云免费2.8元/时2.24元/G实时灾备源:MySQ目标:MySQL类型:双主灾备中国站(亚太-曼谷)2.5元/时入云免费2.5元/时1.55元/G实时灾备源:MySQ目标:MySQL类型:双主灾备中国站(亚太-新加坡)2.7元/时入云免费2.7元/时1.69元/G注:专属云(Dec)、金融区、华为云全栈(HCS、HCSO)的DRS报价,请以华为云项目报价为准。华为云在此提醒您,如果您不再需要使用该服务,请及时结束任务,以免产生费用。更多关于华为云数据复制服务(DRS)的产品介绍,请您点击了解。如您有任何问题,可随时通过工单或者服务热线(4000-955-988或950808)与我们联系。感谢您对华为云的支持!
-
1. CDM作业超时--总结常见的超时现象和处理方法1)参数配置配置连接,高级属性5分钟超时报错连接属性配置2)truncate等锁超时 https://blog.csdn.net/turbo_zone/article/details/84036511CDM作业入库的时候报了违反唯一约束truncate掉,重新抽取3)后台压力 后台压力报错杀掉执行时间很长且占用io的sql4)hive侧配置MetaStore的内存配置的小,后台不断在FullGCHive: MetaStore 调整前:-Xms1024M -Xmx4069M -XX:NewSize=512M -XX:MaxNewSize=609M调整后:-Xms4096M -Xmx8192M -XX:NewSize=2048M -XX:MaxNewSize=2048M2. 磁盘空间使用率高,定位到大表--总结整理处理方法--数据倾斜1)查看磁盘使用率超过90% pg_namespace pg_class pg_database84%2)sql语句查看全表倾斜SELECT * FROM pgxc_get_table_skewness Where totalsize > 100*1024*1024 and skewratio > 0.05 ORDER BY totalsize DESC; SELECT * FROM pgxc_get_table_skewness ORDER BY totalsize DESC3)查看单表倾斜--方法一:用管理员用户连接集群,执行以下SQL语句:select table_skewness('schemaname.tablename');--方法二:用管理员用户连接集群,执行以下SQL语句:select table_distribution('schemaname','tablename'); ? SELECT a.count,b.node_name FROM (SELECT count(*) AS count,xc_node_id FROM table_name GROUP BY xc_node_id) a, pgxc_node b WHERE a.xc_node_id=b.node_id ORDER BY a.count desc;导入新表3. 主备切换--定位主备切换的原因和应急方法 故障 cm_ctl start -n 2 -D /srv/BigData/mppdb/data2/master2 cm_ctl stop -n 2 -D /srv/BigData/mppdb/data2/master2 故障恢复 cm_ctl start -n 2 -D /srv/BigData/mppdb/data2/master2 故障top 看时间2020-11-08 02:38:52 看主备倒换时间4. DWS页面odbc/jdbc驱动无法下载--如何正确配置hosts?--其他情况5. 账户被锁--应急方法https://support.huaweicloud.com/trouble-dws/dws_09_0030.html--被锁的原因:查看审计日志select * from pg_query_audit('2020-11-17 8:00:00','2020-11-17 10:00:00') where type ='login_failed';6. 审计日志DWS页面上设置:https://support.huaweicloud.com/mgtg-dws/dws_01_0075.htmlhttps://support.huaweicloud.com/mgtg-dws/dws_01_0142.html--pgxc_query_audit :查看所有CN节点审计日志。--开关audit_enabled(总开关)audit_system_object(默认12295,不审计表,12303可以审计表)audit_resource_policy(on表示空间优先,国网cn日志目录太小,建议空间优先)audit_space_limit 一般1g
-
【功能模块】【操作步骤&问题现象】想问下,发生主备切换后,原来的主成为备,显示need repair(disconnected), 整个集群是unavailable的状态,这种情况下,标准的处理步骤是怎么样的?是需要杀死cm_server进程让其重启并重新仲裁主备关系么?【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
主备同步,也叫主从复制,是MySQL提供的一种高可用的解决方案,保证主备数据一致性的解决方案。在生产环境中,会有很多不可控因素,例如数据库服务挂了。为了保证应用的高可用,数据库也必须要是高可用的。因此在生产环境中,都会采用主备同步。在应用的规模不大的情况下,一般会采用一主一备。除了上面提到的数据库服务挂了,能够快速切换到备库,避免应用的不可用外,采用主备同步还有以下好处:提升数据库的读并发性,大多数应用都是读比写要多,采用主备同步方案,当使用规模越来越大的时候,可以扩展备库来提升读能力。备份,主备同步可以得到一份实时的完整的备份数据库。快速恢复,当主库出错了(比如误删表),通过备库来快速恢复数据。对于规模很大的应用,对于数据恢复速度的容忍性很低的情况,通过配置一台与主库的数据快照相隔半小时的备库,当主库误删表,就可以通过备库和binlog来快速恢复,最多等待半小时。说了主备同步是什么和好处,下面让我们来了解一下主备同步是怎么实现的。主备同步的实现原理下面以一个update语句来介绍主库与备库间是如何进行同步的。上图是一个update语句在节点A执行,然后同步到节点B的完整流程图,具体步骤有:主库接受到客户端发送的一条update语句,执行内部事务逻辑,同时写binlog。备库通过 change master 命令,设置主库的IP、端口、用户名和密码,以及要从哪个位置开始请求 binlog。这个位置包含文件名和偏移量。在备库上执行start slave命令,启动两个线程 io_thread 和 sql_thread,其中 io_thread 负责与主机进行连接。主库校验完用户名和密码,按照接收到的位置去读取binlog,发给备库。备库接收到binlog后,写到本地文件(relay log,中转文件)。备库读取中转文件,解析出命令,然后执行。主备同步的工作原理其实就是一个完全备份加上二进制日志备份的还原。不同的是这个二进制日志的还原操作基本上是实时的。备库通过两个线程来实现同步:一个是 I/O 线程,负责读取主库的二进制日志,并将其保存为中继日志。一个是 SQL 线程,负责执行中继日志。从上面的流程可以看出,主备同步的关键是binlog常见的俩种主备切换流程MS结构M-S结构,两个节点,一个当主库、一个当备库,不允许两个节点互换角色。对比前面的M-S结构图,可以发现,双M结构和M-S结构,其实区别只是多了一条线,即节点A和B之间总是互为主备关系。这样在切换的时候就不用再修改主备关系。双M结构的循环赋值问题在实际生产使用中,多数情况是使用双M结构的。但是,双M结构还有一个问题需要解决。业务逻辑在节点A执行更新,会生成binlog并同步到节点B。节点B同步完成后,也会生成binlog。(log_slave_updates设置为on,表示备库也会生成binlog)。当节点A同时也是节点B的备库时,节点B的binlog也会发送给节点A,造成循环复制。解决办法:设置节点的server-id,必须不同,不然不允许设置为主备结构备库在接到binlog后重放时,会记录原记录相同的server-id,即谁产生即为谁的。每个节点在接受binlog时,会判断server-id,如果是自己的就丢掉。解决后的流程:业务逻辑在节点A执行更新,会生成带有节点A的server-id的binlog。节点B接受到节点A发过来的binlog,并执行完成后,会生成带有节点A的server-id的binlog。节点A接受到binlog后,发现是自己的,就丢掉。死循环就在这里断掉了。
-
【功能模块】【操作步骤&问题现象】比如通过gs_om -t status --detail发现有些实例发生了主备切换,想了解下是什么情况下会发生主备切换,后台是一个什么检测逻辑,能否详细解释下【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】想咨询下什么情况会导致主备不同步【操作步骤&问题现象】当前使用GAUSS导入数据以下两种方式1.一种是COPY2.一种是GDS当导入数据量上亿条时集群界面就会出现主备不同步告警,且集群运行其他SQL就开始卡顿集群规模12台机器,内存512,每台机器数据盘做了4组raid
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签