Debian上PostgreSQL集群配置步骤
以下是在Debian上配置PostgreSQL集群的步骤(以Patroni + etcd为例):
环境准备
确保所有节点使用相同的Debian版本,且节点间网络互通。
安装软件包
在所有节点上安装PostgreSQL、Patroni和etcd:
sudo apt update
sudo apt install -y postgresql postgresql-contrib python3-pip
pip3 install patroni[etcd]
sudo apt install etcd
配置etcd
编辑/etc/etcd/etcd.conf
,设置集群信息,例如:
name: node1
data-dir: /var/lib/etcd
listen-peer-urls: http://0.0.0.0:2380
listen-client-urls: http://0.0.0.0:2379
advertise-client-urls: http://<节点IP>:2379
initial-cluster: node1=http://<节点IP>:2380,node2=http://<节点IP>:2380
initial-cluster-token: pg-cluster
initial-cluster-state: new
启动etcd服务:
sudo systemctl start etcd
sudo systemctl enable etcd
配置Patroni
在每个节点上创建/etc/patroni.yml
,示例配置如下:
scope: postgres-cluster
namespace: /db/
name: node1 # 每个节点名称需唯一
restapi:
listen: 0.0.0.0:8008
connect_address: <节点IP>:8008
etcd:
hosts: [<节点IP1>:2379,<节点IP2>:2379]
ttl: 30
retry_timeout: 10
postgresql:
listen: 0.0.0.0:5432
connect_address: <节点IP>:5432
data_dir: /var/lib/postgresql/13/main
bin_dir: /usr/lib/postgresql/13/bin
pg_hba:
- host replication replicator 0.0.0.0/0 md5
- host all all 0.0.0.0/0 md5
authentication:
replication:
username: replicator
password: your_password
superuser:
username: postgres
password: your_password
parameters:
wal_level: replica
max_connections: 100
hot_standby: on
初始化集群
在主节点上执行:
sudo patroni /etc/patroni.yml
验证集群状态
使用以下命令查看集群状态:
sudo patroni --config /etc/patroni.yml status
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!