Skip to main content

replication postgresql-10 with repmgr

replication postgresql-10 with repmgr

1. install postgresql-10 to node1 and node2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10-server postgresql10-contrib postgresql10-devel -y
/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl enable postgresql-10
systemctl start postgresql-10

2. install repmgr to node1 and node2

yum install https://dl.2ndquadrant.com/default/release/browse/rpm/packages/centos/7/x86_64/10/repmgr10-4.1.1-1.el7.x86_64.rpm
yum install repmgr10

node2

ubah konfigurasi pada repmgr.conf di node2
vim /etc/repmgr/10/repmgr.conf

node_id=2
node_name='node2'
conninfo='host=192.168.4.161 user=repmgr dbname=repmgr'
data_directory='/var/lib/pgsql/10/data/'
pg_bindir='/usr/pgsql-10/bin/'
failover=automatic
promote_command='repmgr standby promote -f /etc/repmgr/10/repmgr.conf --log-to-file'
follow_command='repmgr standby follow -f /etc/repmgr/10/repmgr.conf --log-to-file'

3. make some symlink to command repmgr for node2

ln -s /usr/pgsql-10/bin/repmgr /usr/sbin/repmgr
ln -s /usr/pgsql-10/bin/repmgrd /usr/sbin/repmgrd


4.  login as postgres user

su - postgres

5. open file postgresql.conf to node2 and node1

vim /var/lib/pgsql/10/data/postgresql.conf

6. uncomment paramater bellow and change the values

listen_addresses = '*'
max_connections = 1000
max_wal_senders = 10
wal_level = hot_standby
hot_standby = on
archive_mode = on
archive_command = '/bin/true'
wal_keep_segments = 5000
shared_preload_libraries = 'repmgr'

if done and then save file

7. open file pg_hba.conf

vim /var/lib/pgsql/10/data/pg_hba.conf

8. uncomment paramater bellow and change the values

local   repmgr        repmgr                        trust
host    all        all 127.0.0.1/32            trust
host    repmgr        repmgr 192.168.4.0/24          trust
host    replication     repmgr 192.168.4.0/24          trust

if done and then save file

9. restart service postgresql

systemctl restart postgresql-10

10. make user & db repmgr to mode user postgres

su - postgres

createuser -s repmgr
createdb repmgr -O repmgr

11. in mode user postgres, make schema with initial bellow this,
for example name detik so I make scheme with repmgr_detik

psql
ALTER USER repmgr SET search_path TO repmgr_detik, "$user", public;

12. and then register for node2 to be master with the bellow comment

repmgr -f /etc/repmgr/10/repmgr.conf master register

13. then to make the name of node 2 become a master with this way

psql repmgr
repmgr=# select * from repmgr.nodes ;

node_id | upstream_node_id | active | node_name |  type | location | priority | conninfo                   | repluser | slot_name | config_file
---------+------------------+--------+-----------+---------+----------+----------+----------------------------------------------+----------+-----------+----------------------------
      2 |              | t | node2 | primary | default  | 100 | host=192.168.4.161 user=repmgr dbname=repmgr | repmgr   | | /etc/repmgr/10/repmgr.conf


node1

14. change your configuration repmgr.conf in node2
vim /etc/repmgr/10/repmgr.conf

node_id=1
node_name='node1'
conninfo='host=192.168.4.160 user=repmgr dbname=repmgr'
data_directory='/var/lib/pgsql/10/data/'
pg_bindir='/usr/pgsql-10/bin/'
failover=automatic
promote_command='repmgr standby promote -f /etc/repmgr/10/repmgr.conf --log-to-file'
follow_command='repmgr standby follow -f /etc/repmgr/10/repmgr.conf --log-to-file'

15. make several symlink to command repmgr in node1

ln -s /usr/pgsql-10/bin/repmgr /usr/sbin/repmgr
ln -s /usr/pgsql-10/bin/repmgrd /usr/sbin/repmgrd

16. login as user postgres
su - postgres

17. remove folder data

rm -rf /var/lib/pgsql/10/data

18. then clone node2/master to node1/standby

login as user postgres
su - postgres
repmgr -h 192.168.4.161 -U repmgr -d repmgr -D /var/lib/pgsql/10/data/ -f /etc/repmgr/10/repmgr.conf standby clone

19. restart service postgresql

systemctl restart postgresql-10

20. next, register node1 to be standby in mode user postgres

su - postgres
repmgr -f /etc/repmgr/10/repmgr.conf -D /var/lib/pgsql/10/data/ -h 192.168.4.161 -U repmgr -d repmgr standby register

21. make sure node1 already standby

psql repmgr
repmgr=# select * from repmgr.nodes ;
node_id | upstream_node_id | active | node_name |  type | location | priority | conninfo                   | repluser | slot_name | config_file
---------+------------------+--------+-----------+---------+----------+----------+----------------------------------------------+----------+-----------+----------------------------
      2 |              | t | node2 | primary | default  | 100 | host=192.168.4.161 user=repmgr dbname=repmgr | repmgr   | | /etc/repmgr/10/repmgr.conf
      1 |            2 | t | node1    | standby | default |     100 | host=192.168.4.160 user=repmgr dbname=repmgr | repmgr   | | /etc/repmgr/10/repmgr.conf


22. if you add node standby exsisting

change for configuration repmgr.conf in node2
vim /etc/repmgr/10/repmgr.conf

node_id=1
node_name='node1'
conninfo='host=192.168.4.160 user=repmgr dbname=repmgr'
data_directory='/var/lib/pgsql/10/data/'
pg_bindir='/usr/pgsql-10/bin/'
failover=automatic
promote_command='repmgr standby promote -f /etc/repmgr/10/repmgr.conf --log-to-file'
follow_command='repmgr standby follow -f /etc/repmgr/10/repmgr.conf --log-to-file'

23. make several symlink for command repmgr in node1

ln -s /usr/pgsql-10/bin/repmgr /usr/sbin/repmgr
ln -s /usr/pgsql-10/bin/repmgrd /usr/sbin/repmgrd

24. login as user postgres
su - postgres

25. remove folder data

rm -rf /var/lib/pgsql/10/data

26. then make clone node2/master to node1/standby

login as postgres user
su - postgres
repmgr -h 192.168.4.161 -U repmgr -d repmgr -D /var/lib/pgsql/10/data/ -f /etc/repmgr/10/repmgr.conf standby clone

27. restart service postgresql

systemctl restart postgresql-10

28. then register node1 to be standby for mode user postgres

su - postgres

repmgr -f /etc/repmgr/10/repmgr.conf -D /var/lib/pgsql/10/data/ -h 192.168.4.161 -U repmgr -d repmgr standby follow

Comments

Popular posts from this blog

Ketika Ruang Guru Lebih Booming Dari Rumah Belajar Kemendikbud

Ketika Ruang Guru Lebih Booming Dari Rumah Belajar Kemendikbud Beberapa minggu lalu gw buka twitter dan baca-baca timeline. Tak sengaja gw melihat ada seseorang yang membuat sebuah thread yang membahas mengenai keluh kesah mengenai trend bimbel online  berbayar lebih booming dibanding platform belajar gratis yang di buat oleh kemendikbud. Daripada gw jelasin panjang lebar berikut dibawah ini beberapa potongan twit dari orang tersebut. ku mau cerita dikit nihh boleh ya? bapak aku adlh salah satu pegawai di kemdikbud. pagi ini dia ngeliat iklan bimbel online di tv, lalu dia ngomong "kok bimbel online berbayar booming banget ya? padahal papa dan temen2 udah bikin platform belajar gratis loh buat anak2 Indonesia" — nyugu (@nyuguseiyo) January 27, 2019 Kalau dilihat dari potongan twit diatas, si penulis ini adalah seorang anak yang orang tuanya bekerja di kemendikbud. Dimana adanya perbincangan ringan antara orang tua dan seorang anak yang membahas tayangan televi

Percona Xtradb Cluster and Proxysql

  Percona Xtradb Cluster and Proxysql 192.168.2.78 dbnode1.db   node1 192.168.2.233 dbnode2.db node2 192.168.2.167 dbnode3.db node3 192.168.2.232 dbnode4.db proxysql Percona xtradb cluster 8 ProxySQL version 2.5.4-percona-1.1 Install percona xtradb cluster 8 in node1, node2, node3 # yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm # percona-release enable-only pxc-80 release # percona-release enable tools release # yum module disable mysql -y # yum install percona-xtradb-cluster Then, start service mysql in node1, node2 and node3 # service mysql start Find temporary password in mysqld.log # grep 'temporary password' /var/log/mysqld.log Login mysql with temporary password # mysql -u root -p After login, you must reset root password with your own password. MySQL> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Percona@pxc8'; Then, Verify wsrep parameters in the database. MySQL> show variables like '%wsrep%'; Before conf

PT. Swadharma Sarana Informatika

Pada tulisan ini saya akan menuliskan sebuah profil perusahaan untuk memenuhi tugas matakuliah softskill Pengantar Bisnis Informatika. Profil perusahaan yang akan saya bahas adalah PT. Swadharma Sarana Informatika. Kemudian, saya mendapatkan informasi mengenai perusahaan tersebut dari teman lama saya yang bekerja diperusahaan tersebut melalui pesan facebook dan website perusahaan.             Berikut ini adalah profil dari   perusahaan tersebut yang saya kutip dari website resminya. Perjalanan PT. Swadharma Sarana Informatika dimulai pada tahun 1996, dan kehadirannya dimaksudkan untuk memberikan dukungan pelanyanan prima dalam pengelolaan sarana teknologi komputer. Dalam perkembangannya PT. Swadharma Sarana Informatika semakin tumbuh dan terus meningkat profesionalismenya sejalan dengan perubahan teknologi dan bisnis pada umumnya khususnya di sektor perbankan. Layanan yang ditawarkan oleh perusahaan tersebut : -           Pemasangan (Instalasi) mesin ATM berbagai Merk. -