2015-03-31 87 views
1

我正在使用repmgr进行复制。我已成功将主节点注册到repmgr。我已成功克隆主节点&启动备用服务器。但问题是我无法在repmgr中注册备用节点。repmgr错误:在配置从站之前必须定义主站

我使用的版本repmgr 2.0beta1(PostgreSQL 9.3.2)。操作系统:Ubuntu 14.04 LTS

注册备用节点时。

$ repmgr -f /etc/repmgr/repmgr.conf --verbose standby register 
Opening configuration file: /etc/repmgr/repmgr.conf 
[2015-03-31 11:43:19] [WARNING] pg_bindir//usr/lib/postgresql/9.3/bin: Unknown name/value pair! 
[2015-03-31 11:43:19] [INFO] repmgr connecting to standby database 
[2015-03-31 11:43:19] [INFO] repmgr connected to standby, checking its state 
[2015-03-31 11:43:19] [INFO] repmgr connecting to master database 
[2015-03-31 11:43:19] [INFO] finding node list for cluster 'test' 
[2015-03-31 11:43:19] [INFO] checking role of cluster node 'host=127.0.0.1 user=repmgr_usr dbname=repmgr_db' 
[2015-03-31 11:43:19] [ERROR] A master must be defined before configuring a slave 

得到此错误。

在待机Postgres的LOG:(配log_connections =上,log_disconnections = ON)

$ tail -f /var/log/postgresql/postgresql-9.3-main.log 
2015-03-31 11:38:51 IST LOG: disconnection: session time: 0:00:00.011 user=repmgr_usr database=repmgr_db host=127.0.0.1 port=53055 
2015-03-31 11:38:51 IST LOG: could not receive data from client: Connection reset by peer 
2015-03-31 11:38:51 IST LOG: disconnection: session time: 0:00:00.029 user=repmgr_usr database=repmgr_db host=127.0.0.1 port=53054 
2015-03-31 11:43:19 IST LOG: connection received: host=127.0.0.1 port=53061 
2015-03-31 11:43:19 IST LOG: connection authorized: user=repmgr_usr database=repmgr_db 
2015-03-31 11:43:19 IST LOG: connection received: host=127.0.0.1 port=53062 
2015-03-31 11:43:19 IST LOG: connection authorized: user=repmgr_usr database=repmgr_db 
2015-03-31 11:43:19 IST LOG: disconnection: session time: 0:00:00.008 user=repmgr_usr database=repmgr_db host=127.0.0.1 port=53062 
2015-03-31 11:43:19 IST LOG: could not receive data from client: Connection reset by peer 
2015-03-31 11:43:19 IST LOG: disconnection: session time: 0:00:00.025 user=repmgr_usr database=repmgr_db host=127.0.0.1 port=53061 

我在LOG 得到了错误 “无法接收来自客户端的数据:由对等连接重置”

在主Postgres的日志:(带log_connections =上,log_disconnections = ON)

$tail -f /var/log/postgresql/postgresql-9.3-main.log 
2015-03-31 11:25:18 IST LOG: connection authorized: user=postgres database=postgres 
2015-03-31 11:25:18 IST LOG: disconnection: session time: 0:00:00.010 user=postgres database=postgres host=[local] 
2015-03-31 11:25:19 IST LOG: connection received: host=[local] 
2015-03-31 11:25:19 IST LOG: connection authorized: user=postgres database=postgres 
2015-03-31 11:25:19 IST LOG: disconnection: session time: 0:00:00.002 user=postgres database=postgres host=[local] 
2015-03-31 11:25:19 IST LOG: connection received: host=[local] 
2015-03-31 11:25:19 IST LOG: connection authorized: user=postgres database=postgres 
2015-03-31 11:25:19 IST LOG: disconnection: session time: 0:00:00.002 user=postgres database=postgres host=[local] 
2015-03-31 11:26:14 IST LOG: connection received: host=192.168.1.218 port=40381 
2015-03-31 11:26:14 IST LOG: replication connection authorized: user=repmgr_usr 

我认为没有关于STA细节ndby连接在这个日志里。 (我不知道bcoz我不知道)

主repmgr.conf:

cluster=test 
node=1 
node_name=node1 
conninfo='host=127.0.0.1 user=repmgr_usr dbname=repmgr_db' 
pg_bindir=/usr/lib/postgresql/9.3/bin 

待机repmgr.conf

cluster=test 
node=2 
node_name=node2 
conninfo='host=localhost user=repmgr_usr dbname=repmgr_db' 
pg_bindir='/usr/lib/postgresql/9.3/bin' 

主&待机postgres.conf

listen_addresses='*' 
wal_level = 'hot_standby' 
archive_mode = on 
archive_command = 'cd .'  
max_wal_senders = 10 
wal_keep_segments = 5000  
hot_standby = on 
log_connections = on 
log_disconnections = on 

主人& stanby pg_hba.conf

在备用节点
host repmgr_db  repmgr_usr 192.168.1.0/24   trust 
host replication  repmgr_usr 192.168.1.0/24   trust 
host repmgr_db  repmgr_usr 127.0.0.1/24   trust 
host replication  repmgr_usr 127.0.0.1/24   trust 

集群详细信息:

$ repmgr -f /etc/repmgr/repmgr.conf cluster show 
[2015-03-31 12:06:17] [WARNING] pg_bindir//usr/lib/postgresql/9.3/bin: Unknown name/value pair! 
Role  | Connection String 
    standby | host=127.0.0.1 user=repmgr_usr dbname=repmgr_db 

集群详细信息在主节点:

$ repmgr -f /etc/repmgr/repmgr.conf cluster show 
[2015-03-31 12:07:46] [WARNING] pg_bindir//usr/lib/postgresql/9.3/bin: Unknown name/value pair! 
Role  | Connection String 
* master | host=127.0.0.1 user=repmgr_usr dbname=repmgr_db 

请帮我在这个问题上。

+0

beta1?请更新至最新版本(2.0.2)或至少稳定版本。自beta1以来,许多bug已经修复。 – 2015-03-31 07:01:17

+0

是的,我在repmgr 2.0(PostgreSQL 9.3.5)中试过。也是同样的错误。在此之前,每件事都很好。 – Rajiv 2015-03-31 12:59:43

+0

嗨,我有同样的问题。我不想重复同样的问题。你有没有找到解决办法? – 2016-09-06 12:27:56

回答

1

最后我通过更改repmgr.conf文件解决了这个问题。我曾与

conninfo='host=192.168.1.205 user=repmgr_usr dbname=repmgr_db' 

即改变了

conninfo='host=localhost user=repmgr_usr dbname=repmgr_db' 

。在配置文件中,我们必须给由集群解析的IP地址或名称。

相关问题