repmgr Error: A master must be defined before configuring a slave
repmgr Error: A master must be defined before configuring a slave
我正在使用 repmgr 进行复制。我已成功将主节点注册到 repmgr。我已经成功克隆了主节点并启动了备用服务器。但问题是我无法在 repmgr 中注册备用节点。
我使用的版本是 repmgr 2.0beta1 (PostgreSQL 9.3.2)。 Os: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_connections=on,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 中得到错误 "could not receive data from client: Connection reset by peer"
关于 Master Postgres 日志:(log_connections=on,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
我认为此日志中没有关于备用连接的详细信息。 (我不确定因为我不知道)
硕士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
主从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
请帮我解决这个问题。
最后我通过更改 repmgr.conf 文件解决了这个问题。我改变了
conninfo='host=localhost user=repmgr_usr dbname=repmgr_db'
和
conninfo='host=192.168.1.205 user=repmgr_usr dbname=repmgr_db'
即..在配置文件中,我们必须给出集群解析的IP地址或名称。
我正在使用 repmgr 进行复制。我已成功将主节点注册到 repmgr。我已经成功克隆了主节点并启动了备用服务器。但问题是我无法在 repmgr 中注册备用节点。
我使用的版本是 repmgr 2.0beta1 (PostgreSQL 9.3.2)。 Os: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_connections=on,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 中得到错误 "could not receive data from client: Connection reset by peer"
关于 Master Postgres 日志:(log_connections=on,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
我认为此日志中没有关于备用连接的详细信息。 (我不确定因为我不知道)
硕士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
主从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
请帮我解决这个问题。
最后我通过更改 repmgr.conf 文件解决了这个问题。我改变了
conninfo='host=localhost user=repmgr_usr dbname=repmgr_db'
和
conninfo='host=192.168.1.205 user=repmgr_usr dbname=repmgr_db'
即..在配置文件中,我们必须给出集群解析的IP地址或名称。