1

2 台のサーバーを使用して postgres レプリケーション構成を作成しようとしています。この手順は、Ubuntu 14.04 での RepMgr および PgBouncer を使用した PostgreSQL 9.4 レプリケーションに似ています 。レプリケーション構成として repmgr + pgbouncer を使用しています。2 つのホスト dhost1 と dhost2 があるとします。Repmgr メタデータ データベースはrepmgrdbで、ユーザーはrepmgr_userです。
dhost1 には pgbouncer と Repmgr の構成があり、マスターです。dbhost1 の Repmgr の構成を以下に示します。

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 ##

マスターに正常に登録でき、cluster show コマンドでマスターを確認できます。

スレーブ側ではpg_basebackup、コマンドでマスターを複製する方法を使用しています

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

また、とpostgresの間のユーザーにパスワードなしの ssh を設定しました。dhost1dhost2

pg_basebackupまた、私はコマンドから取ることができました

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

私はpostgresqlレプリケーションの初心者です。答えを教えてください。

4

2 に答える 2

0

私は今それを調べています。
--log-level DEBUG --verboseを使用してコマンドを再度実行したい場合があります。これにより、そこで何が起こっているかについての詳細情報が得られるはずです...

于 2016-09-06T14:07:49.710 に答える
-1

1位

rm -rf /var/lib/postgresql/9.5/main/*

2位

repmgr -h masterhostname -p 5433 -U repmgr -d repmgr -D main -f /etc/repmgr.conf --copy-external-config-files=pgdata --verbose スタンバイ クローン

3位

pg_ctl -D /var/lib/postgresql/9.5/main --log=/var/log/postgresql/postgres_screen.log start 4-th

repmgr -f /etc/repmgr/repmgr.conf スタンバイ登録;

repmgr -f /etc/repmgr/repmgr.conf cluster show

于 2016-10-28T12:05:36.567 に答える