+++ title = "openGauss使能paxos特性实践"
date = "2021-10-21"
tags = ["openGauss使能paxos特性"]
archives = "2021-10"
author = "yanghaiyan"
summary = "openGauss使能paxos"
img = "/zh/post/yanghaiyan/title/img1.png"
times = "17:00" +++
GaussDB(for openGauss)推出了基于Paxos协议的DCF高可用组件,该组件使得GaussDB(for openGauss)在保证数据一致性的同时,在高可用方面可进一步得到增强,包括: (1)通过自仲裁、多数派选主能力摆脱第三方仲裁组件,极大缩短RTO时间,且可预防任何故障下的脑裂双主; (2)支持节点同步、同异步混合部署的多集群部署模式; (3)提升主备间节点日志复制效率,提升系统的最大吞吐能力。 借助GaussDB(for openGauss)的DCF高可用组件,用户不仅可以免去系统脑裂的风险,还可以提升可用性。
GaussDB(for openGauss)当前930开源计划已实施,包括正式推出了基于Paxos协议的DCF高可用组件内核新特性; 在此本文详细说明了openGauss使能paxos特性实践操作流程,让用户通过自适配能够使能paxos特性,体检集群高可用增强能力。
cmd = "%s/gs_initdb --locale=C -D %s -X %s --nodename=%s %s -c -C %s"
#1. 使能dcf特性开关
enable_dcf = on
#2. 当前节点id, 如果集群为3节点则每个节点可分别配置为1、2、3
dcf_node_id = 1
#3. 指定dcf数据目录
dcf_data_path = '/xxx/cluster/data1/dn1/dcf_data'
#4. 指定dcf集群配置信息,每个节点上dcf_config内容一致,其中配置的ip/端口专用于dcf节点间通信链路,注意与所有其他已使用的ip/端口不要配置冲突
dcf_config = '[{"stream_id":1,"node_id":1,"ip":"x.x.x.21","port":xx,"role":"LEADER"},{"stream_id":1,"node_id":2,"ip":"x.x.x.22","port":xx,"role":"FOLLOWER"},{"stream_id":1,"node_id":3,"ip":"x.x.x.23","port":xx,"role":"FOLLOWER"}]'
gaussdb -D /xxx/cluster/data1/dn1 -M standby &
待集群多数派节点启动成功后,即可以paxos模式运行;
通过:gs_om -t status --detail指令可查询节点状态信息;
集群故障模式下,可通过以下少数派和重建流程来恢复集群paxos模式正常运行:
gs_ctl setrunmode -D PATH -v 1 -x minority
gs_ctl build -b full -Z single_node -D PATH
gs_ctl setrunmode -D PATH -x normal
至此,集群已经可以paxos多数派模式正常运行,对外提供服务了;
gs_ctl query -D PATH
通过该指令可以验证查询到本节点HA状态和Paxos复制状态相关信息。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。