在Ubuntu上搭建PostgreSQL集群,通常指的是设置一个高可用的PostgreSQL集群,例如使用Patroni和Keepalived来实现。以下是一个基本的步骤指南:
前提条件
- Ubuntu服务器:至少三台服务器,用于实现高可用性。
- PostgreSQL:每台服务器上安装相同版本的PostgreSQL。
- 网络配置:确保服务器之间可以互相通信。
步骤
1. 安装PostgreSQL
在每台服务器上安装PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
2. 配置PostgreSQL
编辑/etc/postgresql/文件,确保以下参数设置正确:
listen_addresses = '*' # 允许所有IP连接
wal_level = replica # 设置为replica以支持流复制
max_wal_senders = 10 # 最大WAL发送者数量
wal_keep_segments = 64 # 保留的WAL段数量
编辑/etc/postgresql/文件,添加允许复制的条目:
host replication replicator /32 md5
重启PostgreSQL服务:
sudo systemctl restart postgresql
3. 初始化复制用户
在主节点上创建一个用于复制的用户:
CREATE USER replicator WITH REPLICATION PASSWORD 'your_password' LOGIN;
4. 配置Patroni
在每台服务器上安装Patroni:
sudo apt install python3-pip
pip3 install patroni
创建Patroni配置文件/etc/patroni.yml,示例配置如下:
scope: postgres
name: pg1
namespace: /db
restapi:
listen: 0.0.0.0:8008
connect_address:
etcd:
host:
port: 2379
bootstrap:
dcs:
ttl: 30
loop_wait: 10
retry_timeout: 10
maximum_lag_on_failover: 1048576
postgresql:
use_pg_rewind: true
use_slots: true
parameters:
wal_level: replica
max_wal_senders: 10
wal_keep_segments: 64
replication:
slot_name: pg1_slot
listen: 0.0.0.0:5432
connect_address:
authentication:
username: replicator
password: your_password
ssl: false
nodes:
- name: pg1
host:
port: 5432
data_dir: /var/lib/postgresql/12/main
pg_hba:
- host replication replicator /32 md5
parameters:
hot_standby: on
- name: pg2
host:
port: 5432
data_dir: /var/lib/postgresql/12/main
pg_hba:
- host replication replicator /32 md5
parameters:
hot_standby: on
- name: pg3
host:
port: 5432
data_dir: /var/lib/postgresql/12/main
pg_hba:
- host replication replicator /32 md5
parameters:
hot_standby: on
5. 启动Patroni
在每台服务器上启动Patroni:
sudo patroni /etc/patroni.yml
6. 验证集群状态
访问任意一台服务器的Patroni API来验证集群状态:
curl http://:8008/master
注意事项
- 确保所有服务器的时间同步。
- 确保防火墙允许必要的端口通信(如5432、8008、2379)。
- 根据实际需求调整配置文件中的参数。
通过以上步骤,你可以在Ubuntu上搭建一个基本的PostgreSQL高可用集群。根据具体需求,可能还需要进行更多的配置和优化。
以上就是关于“Ubuntu上PostgreSQL集群如何搭建”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm