使用pgpool管理数据库集群故障的问题

pgpool如何选举master角色

在pgpool启动的过程中通过对 pgpoo.conf配置文件中的数据库节点条目信息,对集群中的数据库节点从0开始一个个的遍历,并发送SQL语句“select pg_is_in_recovery();”;根据返回的结构来判断哪个数据库节点是master。

在master节点故障后,其它节点由于没有发生故障切换而没有master节点,通过pgpool提供的端口9999仍然可以连接并提供读 操作,但是不能对为提供写操作。

在故障切换时选择master节点时,也是从配节文件中的顺序便利数据库节点 从中找出可用的数据库节点 作为主节点。

static int get_next_master_node(void)
{
    int i;

for (i=0;i<pool_config->backend_desc->num_backends;i++)
    {
        /*
         * Do not use VALID_BACKEND macro in raw mode.
         * VALID_BACKEND return true only if the argument is master
         * node id. In other words, standby nodes are false. So need
         * to check backend status with VALID_BACKEND_RAW.
         */
        if (RAW_MODE)
        {
            if (VALID_BACKEND_RAW(i))
                break;
        }
        else
        {
            if (VALID_BACKEND(i))
                break;
        }
    }

if (i == pool_config->backend_desc->num_backends)
        i = -1;

return i;
}

/*

时间: 2024-08-27 14:43:22

使用pgpool管理数据库集群故障的问题的相关文章

MySQL数据库集群-PXC方案

第1章 课程摘要课程内容的概要介绍,包括课程目标,面向用户,预备知识,课程大纲,软件与硬件环境等. 1-1 课程导学1-2 开发环境要求 第2章 创建PXC集群学习安装与创建PXC集群,为了搭建三高特点的数据库集群,我们将把两组PXC集群组建成分片,由MyCat做数据切分与读写分离,然后对MyCat做集群,用Keepalived+Haproxy实现双机热备.了解数据库的基准测试与压力测试,掌握PXC的实际性能.... 2-1 CentOS安装PerconaServer数据库2-2 安装PXC组建

Oracle数据库精讲课程之Rac管理(集群组件、性能监控及调整、节点管理、备份和恢复)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 本课程主要是介绍Oracle RAC体系结构与工作机制,了解并掌握RAC数据库下的相关技术,如:cache Fusion. Failover.load balance.FAN.OCR和Voting disk等,通过VMWARE虚拟环境,实践演练RAC数据库的安装部署.RAC数据库日常性能监控.备份和恢复.实例增加和删除以及补丁安装等操作,通过本课程的学习,学员在掌握RAC理论知识基础上,能够熟练掌握RAC数据库的日常管理操作. 课

蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起

原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47720043 [简单介绍] 个人在oracle路上的成长记录,当中以蓝自喻.分享成长中的情感.眼界与技术的变化与成长.敏感信息均以其他形式去掉,不会泄露不论什么企业机密,纯为技术分享. 创作灵感源于对自己的自省和记录.若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已.

从单机到集群会话的管理之集群模式二(更大的集群)

<从单机到集群会话的管理之集群模式一>中讲到的全节点复制的网络流量随节点数量增加呈平方趋势增长,也正是因为这个因素导致无法构建较大规模的集群,为了使集群节点能更加大,首要解决的就是数据复制时流量增长的问题,下面将介绍另外一种会话管理方式,每个会话只会有一个备份,它使会话备份的网络流量随节点数量的增加呈线性趋势增长,大大减少了网络流量和逻辑操作,可构建较大的集群. 下面看看这种方式具体的工作机制,集群一般是通过负载均衡对外提供整体服务,所有节点被隐藏在后端组成一个整体.前面各种模式的实现都无需负

配置mysql数据库集群

1.先在所有数据库服务器上安装mysql-cluster包 管理机:192.168.1.6 数据节点:192.168.1.31   192.168.1.32 sql节点:192.168.1.33    192.168.1.111 2.在管理节点上配置  [[email protected] ~]# vim /etc/config.ini [ndbd default]    //数据节点公共配置 noofreplicas=2   //数据备份数 datamemory=300M  //查询缓存 in

架构设计之「数据库集群方案」

在之前的文章中,我们知道数据库服务可能已经成为了很多系统的性能关键点,甚至是瓶颈了.也给大家介绍了数据库服务器从主备架构.到主从架构.再到主主架构的基础方案.但如果单台机器已经不能满足完整业务数据存储的时候,我们就需要考虑采用多机甚至多中心的部署方案了. 今天我们就再来聊一聊,在多机环境下,数据库集群的架构方案. 同样,这里先不看细节,不管底层数据源是什么数据库,我们先谈架构方案.因为无论底层是 Mysql 还是 Redis.MongoDB,我们在架构设计上都是相通的. 针对多机的架构,常见有如

Centos7安装mariadb galera cluster数据库集群 & 详解

#Galera集群特点 集群之间无延时,同步复制.而master-slave主从异步复制,存在延迟. active-active多主,集群内部服务器都是同时写,必须等所有集群内所有数据库都完成数据写入,才会反馈完成,所以不存在数据丢失的情况. 集群节点自动故障转移,如果集群中单个节点故障,失效节点会自动被清除. 扩展方便,只要将新的节点添加到集群,新节点自动复制数据. #Galera集群原理     #主要通过galera插件保证数据的一致性,该数据复制的过程是可认证的复制,原理如下: #解析

分布式数据库集群中间件

我是一个分布式数据库集群中间件的开发人员,已经一年多一点的开发时间了,今天总结点我所知道的一些事情,给有新近来到这个领域的研发人员一点借鉴. 生活不易,赚钱不易,离开仅仅是为多赚点钱. ----学渣 我仅仅是说我所开发过的系统: 后面文章会有具体的分析.这里仅仅做简单的梳理.也就是你要研发分布式数据库集群中间件.须要向着哪些方面去思考. 首先我们从名字去分析我们正在从事的工作内容: 1. 分布式 须要考虑它的方向(后面具体说明) a)  分布式中的概念 b)  分布式的模型 c)  分布式系统特

PhxSQL兼容MySQL的关系型数据库集群

PhxSQL是一个兼容MySQL.服务高可用.数据强一致的关系型数据库集群.PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性. PhxSQL 架构: PhxSQL基于Percona 5.6开发.Percona是MySQL的一个分支,功能和实现与MySQL基本一致(基础教程qkxue.net).因此本文后续直接把MySQL作为讨论对象. 总览: PhxSQL具有服务高可用.数据强一致.高性能.运维简单.和MySQL