Patroni+Zookeeper集群搭建

本文介绍了如何利用Patroni,一个基于Python的PostgreSQL高可用性解决方案,配合Zookeeper搭建分布式数据库集群。内容涵盖了Patroni的功能特性,支持的PostgreSQL版本,以及异步复制和同步复制的配置。实际操作部分详细阐述了在 CentOS 环境中安装所需软件,创建配置文件,启动 Patroni 服务,并进行故障转移测试的过程。
摘要由CSDN通过智能技术生成

Patroni

Patroni是一个PostgreSQL HA模板,带有ZooKeeper,etcd或Consul。您可以在patroni.readthedocs.io上找到一个可搜索且更易于导航的文档版本。有很多方法可以使用PostgreSQL运行高可用性。

Patroni是使用Python的高可用性(HA)PostgreSQL解决方案的模板。为了实现最大的可访问性,Patroni支持各种分布式配置存储,如ZooKeeper、etcd、Consul或Kubernetes。我们称Patroni为“模板”,因为它远不是一个一刀切或即插即用的复制系统。它将有自己的警告,使用起来非常聪明。

目前支持的PostgreSQL版本:9.3到15。

从psycopg2-2.8开始,默认情况下将不再安装psycopg2的二进制版本。从源代码安装它需要C编译器和postgres+python-dev包。由于在python世界中,不可能将依赖项指定为psycopg2或psycopg2-二进制,因此您必须决定如何安装它。

Patroni使用Postgres的流复制,默认情况下是异步的。Patroni的异步复制配置允许进行最大的lag_on_failover设置。此设置可确保在跟随者落后于引导者超过特定字节数时不会发生故障转移。应根据业务需求增加或减少此设置。还可以使用同步复制以获得更好的持久性保证。

应用程序不应使用超级用户:

从应用程序连接时,请始终使用非超级用户。Patroni需要访问数据库才能正常工作。通过使用应用程序中的超级用户,您可以使用superuser_reserved_connections设置来使用整个连接池,包括为超级用户保留的连接。如果Patroni因为连接池已满而无法访问Primary,则这种行为将是不可取的。

实际操作:

已有搭建好数据库的三台服务器,且另外三个zookeeper服务器已就绪。

服务器都是使用的LX虚拟机下的CentOS环境(不建议在LX环境下进行搭建,有限制),在此情况下进行patroni+zookeeper搭建

节点信息:

节点 IP
ecox01 10.9.5.2
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值