postgresql - [Postgres Replication]远程主机不可访问 repmgr salve

标签 postgresql ssh replication pgbouncer repmgr

我正在尝试使用两台服务器创建一个 postgres 复制配置。步骤类似于PostgreSQL 9.4 Replication with RepMgr and PgBouncer on Ubuntu 14.04 .我使用 repmgr + pgbouncer 作为我的复制配置。假设我有两个主机 dhost1 和 dhost2。 Repmgr 元数据数据库是 repmgrdb,用户是 repmgr_user
dhost1 有 pgbouncer 和 Repmgr 的配置,它是 master。 Repmgr在dbhost1中的配置如下:

cluster = test

node = 1  
node_name = dhost1  
use_replication_slots = 1  
conninfo='host=dhost1 user=repmgr_user dbname=repmgrdb'  
pg_bindir=/usr/lib/postgresql/9.5/bin
## repmgr.conf at master ##

dhost2 也有 Repmgr 的配置,它处于从属模式。它的配置如下所述

cluster = test

node = 2  
node_name = dhost2  
use_replication_slots = 1  
conninfo='host=dhost2 user=repmgr_user dbname=repmgrdb'  
pg_bindir=/usr/lib/postgresql/9.5/bin
 ## repmgr.conf at slave ##

我能够成功注册到master,并且可以在cluster show 命令中看到master。

在slave端我使用pg_basebackup方法通过命令克隆master

repmgr -f /etc/repmgr/repmgr.conf --force  -h dhost1_ip_address_goes_here> -U repmgr_user -d repmgrdb -v standby clone

对于上面的命令,我得到以下错误:

[2016-08-08 10:05:26] [NOTICE] using configuration file "/etc/repmgr/repmgr.conf"
[2016-08-08 10:05:26] [NOTICE] setting data directory to: /var/lib/postgresql/9.5/main
[2016-08-08 10:05:26] [HINT] use -D/--data-dir to explicitly specify a data directory
[2016-08-08 10:05:26] [NOTICE] starting backup (using pg_basebackup)...
[2016-08-08 10:05:26] [HINT] this may take some time; consider using the -c/--fast-checkpoint option
[2016-08-08 10:05:31] [NOTICE] copying configuration files from master
[2016-08-08 10:05:31] [ERROR] aborting, remote host <dhost1_ip_address_goes_here> is not reachable.
[2016-08-08 10:05:31] [ERROR] unable to take a base backup of the master server>
[2016-08-08 10:05:31] [WARNING] destination directory (/var/lib/postgresql/9.5/main) may need to be cleaned up manually

我还在 dhost1dhost2 之间为 postgres 用户设置了无密码 ssh。

此外,我已经能够从命令中获取 pg_basebackup

pg_basebackup -h <dhost1_ip_address_goes_here> -P -v -U repmgr_user -X stream -D 9.5/main -R

我是 postgresql 复制的初学者,请给我建议答案。

最佳答案

我现在正在调查。你可能想用
再次运行命令 --log-level DEBUG --verbose 那应该提供更多关于那里发生的事情的信息......

关于postgresql - [Postgres Replication]远程主机不可访问 repmgr salve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833060/

相关文章:

`session_replication_role = replica`时的Postgresql截断与删除

linux - 如何通过 shell 脚本从 machineX 在 machineA 上执行命令?

java - 将在单主多从复制中在 MySQL slave 中运行触发器

mysql - 如何在 CentOS 7 上引导 MariaDB 集群?

postgresql - 如何使用 pgAdmin III 更改 PostgreSQL 数据库中的表

php - 我想在新窗口中打开 pgsql 查询而不是下载为 csv

sql - 计算/导出连续日期范围内的第一个开始日期

ssh - 如何在没有密码的情况下从 centos 6.4 ssh 进入 docker 容器?

bash - 如何在脚本中使用 ping

mysql - 需要使我的 Mysql Slave 成为只读服务器