Skip to main content

Master Slave Postgresql di Centos 7


Master Slave Postgresql

1.       Install dua buah server linux centos

2.       Cek port ethernet yang digunakan untuk nat dan internet host only dengan mengetik perintah
#nmcli d

3.        Setting ip dhcp pada port nat, digunakan untuk mendownload package yum.

Ubah konfigurasi dengan menggunakan perintah dibawah ini :

#vim  /etc/sysconfig/network-script/ifcfg-[port]
Contoh :  #vim  /etc/sysconfig/network-script/ifcfg-enp0s3

Ubah ONBOOT=NO à ONBOOT=YES


Kemudian ketik :wq untuk save dan keluar dari text editor vim.

1.       Restart service mysql dengan perintah dibawah ini :
#service network restart

2.       Menambahkan repository postgresql

#yum -y install https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

3.       Menginstall aplikasi postgresql

# yum -y install postgresql96-server postgresql96-contrib

4.       Sebelum merunning postgresql maka pindahkan properties postgresql direktori dari '/usr/pgsql-9.6/bin' ke 'postgresql96-setup' .

#cd /usr/pgsql-9.6/bin

#./postgresql96-setup initdb

5.       Selanjutnya jalankan service postgresql

#systemctl start postgresql-9.6
#systemctl enable postgresql-9.6

6.       Lakukan pengecekan Postgresql berjalan di 5432 dengan state LISTEN dengan cara :

#netstat –plntu

7.       Apabila service netstat belum tersedia, maka harus lakukan penginstallan.

#yum -y install net-tools

8.       Ubah config di pg_hba.conf


# TYPE  DATABASE        USER            ADDRESS                 METHOD


# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 ident

1.       Login postgresql

# psql –Upostgres –h127.0.0.1

2.       Kemudian running postgresql

su - postgres

psql

3.       Selanjutnya ubah password pada postgresql

\password postgres
Enter new password:

4.       Selanjutnya mengaktifkan firewall dan mengijinkan aplikasi tersebut pada firewall.

firewall-cmd --add-service=postgresql --permanent
firewall-cmd –reload

5.       Cek apakah service tersebut sudah tersetting dengan benar.

firewall-cmd --list-all

6.       Mengubah ip dynamic ke static.

1 CentOS 7 server

Master - Read and Write Permission - IP: 192.168.56.10

1 CentOS 7 server

Slave - Only Read Permission- IP: 192.168.56.11

Root Privileges

*sebelumnya disable port ethernet untuk ip dhcp yang sebelumnya dihidupkan.

*masuk ke settingan properties Ethernet

#vim /etc/sysconfig/network-script/ifcfg-[port]
#vim /etc/sysconfig/network-script/ifcfg-enp0s3

Dengan mengubah ONBOOT=YES à ONBOOT=NO

*perintah edit port Ethernet :

#vim /etc/sysconfig/network-script/ifcfg-enp0s8

Kemudian edit port Ethernet untuk ip local :


1.       Konfigurasi master
Pindah ke direktori  '/var/lib/pgsql/9.6/data'  kemudian edit  file konfigurasi 'postgresql.conf'
cd /var/lib/pgsql/9.6/data
#vim postgresql.conf
2.       Setting konfigurasi postgresql master


# listen_addresses = ‘192.168.56.10’
listen_addresses = ‘*’
wal_level = hot_standby

synchronous_commit = local

archive_mode = on
archive_command = 'rsync -a %p 192.168.56.11:/var/lib/pgsql/data/archive/%f'

max_wal_senders = 2
wal_keep_segments = 10


#nama database yang digunakan 'pgslave01'
synchronous_standby_names = 'pgslave01'
*untuk asynchrounous  ‘synchronous_standby_names’ di buat menjadi comment
#synchronous_standby_names = 'pgslave01'


1.       Ubah properties yang ada di file pg_hba.conf
#vim pg_hba.conf


# Localhost
host    replication     replica          127.0.0.1/24            password
 # PostgreSQL Master IP address
 host    replication     replica          192.168.56.10/24            password

# PostgreSQL SLave IP address
 host    replication     replica          192.168.56.11/24            password



Kemudian save dengan mengetik :wq dan enter
1.       Lakukan restart service postgresql
#systemctl restart postgresql-9.6

2.       Membuat user dan password di postgresql
User : replica

Password : xxx

su - postgres
createuser --replication -P replica
Enter New Password:

1.       Konfigurasi database slave
# systemctl stop postgresql-9.6

2.       Pindah ke direktori /var/lib/pgsql/9.6/ dan backup direktori tersebut.
#cd /var/lib/pgsql/9.6/
#mv data data-backup

3.       Buat direktori dan ubah hak aksesnya.
mkdir -p data/
chmod 700 data/
chown -R postgres:postgres data/

4.       Login di postgres master dan copy semua data dari master server ke slave server sebagai user replica.
su - postgres
pg_basebackup -h 192.168.56.10 -U replica -D /var/lib/pgsql/9.6/data -P --xlog
Password:


1.       Selanjutnya setup postgresql.conf (slave server)
#cd /var/lib/pgsql/9.6/data/
#vim postgresql.conf


#listen_addresses = '192.168.56.11'
listen_addresses = '*'
hot_standby = on


1.       Kemudian, buat file dengan nama 'recovery.conf'
#vim recovery.conf


standby_mode = 'on'
primary_conninfo = 'host=192.168.56.10 port=5432 user=replica password=aqwe123@ application_name=pgslave01'
trigger_file = '/tmp/postgresql.trigger.5432'


*di primary_connifo harus sesuai dengan server dan ip yang dipakai

1.       Ubah permission data pada user postgres.
#chmod 600 recovery.conf
#chown postgres:postgres recovery.conf

2.       Mengaktifkan service postgresql
#systemctl start postgresql-9.6

3.       Lakukan pengecekan apakah port postgresql sudah berjalan sesuai dengan standar .
#netstat -plntu



1.       Testing (posisi di postgresql master)
su – postgres
2.       Cek replikasi sudah sync atau async
psql -c "select application_name, state, sync_priority, sync_state from pg_stat_replication;"
psql -x -c "select * from pg_stat_replication;"
3.       Login ke master
su - postgres
psql

4.       Membuat table
CREATE TABLE replica_test (test varchar(100));
INSERT INTO replica_test VALUES ('howtoforge.com');
INSERT INTO replica_test VALUES ('This is from Master');
INSERT INTO replica_test VALUES ('pg replication by hakase-labs');

1.       Login ke slave

su - postgres
psql

2.       Cek data ditable replikasi
select * from replica_test;

#Note
Setup agar running psql di user root : $psql
Ubah settingan /var/lib/pgsql/9.3/data/pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

[root@dbmonitoringnew ~]# systemctl restart postgresql-9.3
[root@dbmonitoringnew ~]# psql -U postgres -h 127.0.0.1

Comments

Popular posts from this blog

Program Kasir Restoran pada Python

Listing Program def menuutama(): print("") n = raw_input('masukkan nama Konsumen: ') print 'Nama Konsumen :',n print """Masukkan Pilihan 1. Bayar 2. Keluar""" print("") def menuutama1(): print """Masukkan Pilihan 1. Bayar 2. Keluar""" print("") class makanan(): def bakso (self,x): jmlhpsn = x * 7000 pajak = jmlhpsn * 0.1 total = jmlhpsn + pajak print 'Harga Bakso = Rp 7000' print '' print 'Total Makanan = Rp ',jmlhpsn print 'Pajak = Rp ',pajak print'___________________________________+' print 'Total Seluruhnya = Rp ', total return jmlhpsn def mieayam (self,x): jmlhpsn = x * 6000 pajak = jmlhpsn * 0.1 total = jmlhpsn + pajak ...

Program Kasir Sederhana dengan Java

Listing Program /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package penjualan; /** * * @author yudo */ import java.util.Scanner; public class Penjualan { public static void main(String[] args) { int jlh_data,pilihan,total,bayar,total1,harga = 0;//deklarasi integer String namamakanan; Scanner input = new Scanner(System.in); System.out.println("==================");//mencetak nilai dari objek System.out.println("===Menu Makanan===");//mencetak nilai dari objek System.out.println("| 1. Mie Ayam |");//mencetak nilai dari objek System.out.println("| 2. Nasi Goreng |");//mencetak nilai dari objek System.out.println("| 3. Mie Goreng |");//mencetak nilai dari objek System.out.println("| 4. Mie Rebus |");//mencetak nilai dari objek System.out.println("===============...

Friend With Benefits Bukan Sekedar Pertemanan Biasa

Pada tulisan kali ini gw mau bahasa FWB atau biasa disebut dengan Friend With Benefits. Pasti dari lo pada kepo gimana sih konsep dari fwb itu dan gimana caranya cari pasangan yang bisa diajak fwban. Yang gw kutip dari  psychologytoday.com FWB (Friend With Benefits) yang berarti pertemanan dengan keuntungan. Keuntungan disini biasanya melibatkan kegiatan seks non-ekslusif yang dilakukan secara berulang. Ikatan dan komitmen dalam hubungan FWB tidak begitu mendalam rasa cinta romantis dibandingkan dengan sekedar hubungan seks. Sementara rasa cinta romantis itu melibatkan pertemanan dan komponen seks. Didalam FWB komponen pertemanan memiliki bobot lebih besar, sedangkan komponens seks adalah sebagai bumbu-bumbu manis saja. Hubungan seks yang dilakukan oleh pelaku FWB itu dilakukan secara berulang dengan intesitas yang sering dan mereka menyadari bahwa apa yang mereka lakukan hubungan tanpa aturan yang mengikat. Dari hasil yang gw baca-baca hampir kebanyakan yang menda...