postgresql 主从 patroni
1 安装基础包
1.1 postgres
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm gcc -y
yum install -y postgresql10-contrib.x86_64 postgresql10-server.x86_64
yum install postgis25_10.x86_64 -y
1.2 patroni
yum install python36 python36-devel -y
curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py
python3.6 /tmp/get-pip.py
pip3 install patroni[etcd] -i https://pypi.douban.com/simple
pip install psycopg2-binary
2 配置, 简单demo
2.1 配置 pg 超级用户密码,流复制用户权限及密码,pg_hba.conf
create user replicator replication login encrypted password 'replicator';
local all all trust
host all all 127.0.0.1/ trust
# IPv4 local connections:
host all all 10.1.0.0/ md5
# IPv6 local connections:
host all all ::/ md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/ trust
host replication all 10.1.0.0/ md5
host replication all ::/ trust
2.2 patroni 配置文件
cat /etc/patroni/patroni_postgresql.yml
scope: pgha #集群名
namespace: /pgsql/ #etcd path
name: pg_node1 # node 名称 每个节点不同 restapi:
listen: 10.1.88.82:
connect_address: 10.1.88.82: etcd:
hosts: 10.1.88.81:,10.1.88.82:,10.1.88.83:
#host: ip:port #single etd server
bootstrap:
# this section will be written into Etcd:/<namespace>/<scope>/config after initializing new cluster
# and all other cluster members will use it as a `global configuration`
dcs:
ttl:
loop_wait:
retry_timeout:
maximum_lag_on_failover:
master_start_timeout:
# synchronous_mode: false
postgresql:
use_pg_rewind: true
use_slots: false
parameters:
listen_addresses: "*"
port:
wal_level: logical
hot_standby: "on"
wal_keep_segments:
max_wal_senders:
#synchronous_standby_names: '*'
max_connections:
max_replication_slots:
wal_log_hints: "on" postgresql:
listen: 0.0.0.0:
connect_address: 10.1.88.82: # local ip
data_dir: /var/lib/pgsql//data
bin_dir: /usr/pgsql-/bin
# config_dir:
authentication:
replication:
username: replicator
password: replicator
superuser:
username: postgres
password: postgres #watchdog:
# mode: automatic # Allowed values: off, automatic, required
# device: /dev/watchdog
# safety_margin: tags:
nofailover: false
noloadbalance: false
clonefrom: false
nosync: false
2.3 服务配置
cat /usr/lib/systemd/system/patroni.service
[Unit]
Description=Patroni server
Documentation='https://github.com/zalando/patroni,https://www.opsdash.com/blog/postgres-getting-started-patroni.html'
After=syslog.target
After=network.target [Service]
Type=simple User=postgres
Group=postgres # StandardOutput=syslog
WorkingDirectory=/etc/patroni/
ExecStart=/usr/local/bin/patroni /etc/patroni/patroni_postgresql.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT # Do not set any timeout value, so that systemd will not kill postmaster
# during crash recovery.
TimeoutSec= [Install]
WantedBy=multi-user.target
基本操作
patronictl -c /etc/patroni/patroni_postgresql.yml list
patronictl -c /etc/patroni/patroni_postgresql.yml show-config
patronictl -c /etc/patroni/patroni_postgresql.yml edit-config
删除 属性
patronictl -c /etc/patroni/patroni_postgresql.yml edit-config -s postgresql.parameters.synchronous_standby_names=null
错误 解决
data dir for the cluster is not empty, but system ID is invalid; consider doing reinitalize
patronictl -c /etc/patroni/patroni_postgresql.yml reinit pgha pg_node81
利用Restful API 动态修改数据库属性
https://patroni.readthedocs.io/en/latest/dynamic_configuration.html#dynamic-configuration
重启数据库
patronictl -c /etc/patroni/patroni_postgresql.yml restart pgha
官方文档
https://patroni.readthedocs.io/en/latest/
英文
https://www.opsdash.com/blog/postgres-getting-started-patroni.html
https://blog.csdn.net/ctypyb2002/article/details/81002436
https://blog.csdn.net/ctypyb2002/article/details/81007990
https://blog.csdn.net/ctypyb2002/article/details/81206652
https://blog.csdn.net/ctypyb2002/article/details/81540288
https://blog.csdn.net/ctypyb2002/article/details/82887607
postgresql 主从 patroni的更多相关文章
- postgresql 主从配置
安装postgresql 主从是否一定需要分两台机器,主从必须要同一个版本,不然启动会报错. 3. 配置Master数据库 su – postgres /usr/local/pgsql/bin/pg_ ...
- 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...
- postgresql主从同步配置
前言 不久前,公司的一台物理机器硬件坏了,导致运行在其上的虚拟机都挂了.很不凑巧的是,我负责的那台虚拟机的系统盘坏了(ps:感觉老天在玩我),导致里面的数据永远的离我而去(ps:当时我的内心是崩溃的) ...
- postgresql , etcd , patroni 做failover
os: centos 7.4etcd:3.2 主从IP信息192.168.56.101 node1 master192.168.56.102 node2 slave192.168.56.103 nod ...
- CentOS7 PostgreSQL 主从配置( 二)
同步流复制配置PostgreSql的流复制是异步的,缺点是Standby上的数据落后于主库上的数据,如果使用Hot Standby做读写分离,就会存在数据一致性的问题.PostgreSql9.1版本后 ...
- CentOS7 PostgreSQL 主从配置( 一)
主库配置 pg_hba.conf host replication all 10.2.0.0/0 trust postgresql.conf listen_addresses = '*' max_wa ...
- postgresql主从配置
master:10.0.1.114 slaver:10.0.1.116 一.yum安装https://blog.csdn.net/weixin_41048363/article/details/803 ...
- Ubuntu PostgreSql主从切换
主机:192.168.100.70 从机:192.168.100.71 通用配置(即主从都要配置) 修改/etc/postgresql/10/main/pg_hba.conf host all all ...
- Docker部署PostgreSQL主从
#准备 PostgreSQL12.3版本容器两台,部署参考https://www.cnblogs.com/zspwf/p/16113298.html 主库: 192.168.3.14:2200 从库: ...
随机推荐
- Convert 实现 pdf 和图片格式互转
pdf 转换为图片 (注意:pdf 默认转换的是透明背景,如果转为jpg格式必须添加背景色.-background white -flatten) convert -background white ...
- nginx自旋锁
#include <stdio.h> #include <stdint.h> #include <unistd.h> /* typedef unsigned lon ...
- cxf 介绍
CXF 编辑 目录 1Apache CXF 简介 关于Apache CXF 功能特性 项目目标 2Apache CXF特点 灵活部署 支持多种编程语言 代码生成 1Apache CXF ...
- object SparkStreaming_StateFul {
窗口查询 ) )).reduceByKeyAndWindow(_+_,_-_,Seconds(10),Seconds(15)) 每隔15s进行查询,查询为前10s的结果.这里的值必须为采集时间 ...
- go基础知识之变量,类型,常量,函数
3 变量 变量是什么 变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值.在 Go 中,有多种语法用于声明变量. 声明单个变量 var name type 是声 ...
- vue-cli引入jquery方法
方法一: 一,在package.json里加入, dependencies:{ ”jquery“:”^2.3.4“ } 二,在webpack.base.conf.js里加入 const webpack ...
- PL/SQL Developer 导出csv文件,用excel打开中文显示乱码
用PL/SQL Developer的导出csv功能把sql语句的查询结果导出到一个csv文件.这个sql查询的结果里面有中文,最后用execel打开的时候发现中文全部是乱码. 方法 1 导出csv ...
- 非关系型数据库MongoDB
爆炸式发展的NoSQL技术 在过去的很长一段时间中,关系型数据库(Relational Database Management System)一直是最主流的数据库解决方案,他运用真实世界中事物与关系来 ...
- UVa 10163 Storage Keepers (二分 + DP)
题意:有n个仓库,m个管理员,每个管理员有一个能力值P,每个仓库只能由一个管理员看管,但是每个管理员可以看管k个仓库(但是这个仓库分配到的安全值只有p/k,k=0,1,...),雇用的管理员的工资即为 ...
- ubuntu 设置DNS
sudo vi /etc/resolv.conf #加入nameserver 114.114.114.114