SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Menggunakan Skytools
Untuk Manajemen Data Master



           Wildan Maulana
    wildan.m@openthinklabs.com
Lingkungan
●   CentOS release 6.3 (Final)
●   postgres (PostgreSQL) 8.4.13
●   SkyTools version 3.1.3
Setup   Layer : Provider & Ticker
                        IP : 10.1.4.203
                        DB : db_portal_sempur
                        User : skytools



Layer : Subscriber
IP : 10.1.4.148
DB : masterdata
User : skytools
Panduan
   Buat user 'skytools', baik
di Producer maupun Consumer
                                              Kompilasi dan Install skytools,
                                            Baik di Producer maupun Consumer


                                                                   Install

                                      Producer                             Consumer
                                ● Ticker                              ● Londiste3

                                ● Londiste3                           ● pgQ

                                ● pgQ
Modul SkyTools
●   PgQ, sistem queuing yang ditulis menggunakan PL/pgsql,
    Python dan C
    Terdiri dari tiga layer :
    ●   Producers
    ●   Consumers / Subscribers
    ●   Ticker
●   Londiste, tool replikasi yang ditulis menggunakan Python,
    menggunakan PgQ sebagai event transport
●   Walmgr, script yang akan mensetup WAL archiving,
    melakukan backup awal, dan menjalankan WAL archive dan
    restore.
Producers
Consumers / Subscribers
Ticker
●
    Ticker dibutuhkan oleh Londiste
●
    Ticker harus diarahkan ke database yang menjadi “Provider”.
●
    Ticker dapat dijalankan pada mesin yang berbeda (tidak harus
    pada mesin yang sama dimana database “Provider” berada),
    meskipun pada umumnya biasanya Ticker dijalankan pada mesin
    yang sama dimana database “Provider” berada.
●
    Ticker dapat meng-host berapapun queue yang Sahabat inginkan.
    Setiap queue memiliki nama yang unik dan dapat digunakan oleh
    banyak subscriber.
Instalasi
             Di Producer maupun Consumer
●   Unduh SkyTools 3 di alamat berikut :
    http://bit.ly/WHUAJw
●   Jalankan perintah berikut :

    ./configure --prefix=/opt/skytools3
    --with-pgconfig=/usr/bin/pg_config

    make
    make install
●
Instalasi
         Ubah Ownership /opt/skytools3




sudo chown skytools.skytools -R /opt/skytools3
Instalasi
                       Di Producer maupun Consumer
 ●   Edit .bashrc, tambahkan baris berikut :
PATH=$PATH:/opt/skytools3/bin/
export PATH
PYTHONPATH=$PYHTONPATH:/opt/skytools3/lib64/python2.6/site-packages:/opt/skytools3/lib/python2.6/site-package
s
export PYTHONPATH




 ●   Jalankan perintah :
     source ~/.bashrc
Instalasi
                 Pastikan Dapat Berjalan


$   londiste3 --version
$   pgqd --version
$   qadmin --version
$   queue_mover3 --version
$   queue_splitter3 --version
$   scriptmgr3 --version
$   simple_consumer3 --version
$   simple_local_consumer3 --version
$   skytools_upgrade3 --version
$   walmgr3 --version
Mensetup Replikasi Londiste3
●   Tabel-tabel yang akan direplikasi :
    ●   employee_all
    ●   organizationunit
    ●   organizationunit_parent
    ●   organizationunit_type
●   Pada Schema di database replikasi constraint
    FK tidak diikut sertakan, hanya struktur tabel
    dan constraint PK saja yang diikut sertakan.
Mempersiapkan Database Target
        Replikasi (Subscriber)
●   Buat database baru, misalkan namanya,
    masterdata, owner bisa disamakan dengan
    database sumber (provider)

              CREATE DATABASE masterdata
               WITH OWNER = mdm
                 ENCODING = 'UTF8'
                 TABLESPACE = pg_default
                 LC_COLLATE = 'en_US.UTF-8'
                 LC_CTYPE = 'en_US.UTF-8'
                 CONNECTION LIMIT = -1;
Mempersiapkan Database Target
        Replikasi (Subscriber)
●   Dump skema tabel-tabel yang ingin direplikasi
    dari database sumber (Provider).

    pg_dump --schema-only -t object_category -t organizationunit -t
    organizationunit_parent -t organizationunit_type -t employee_all --no-owner
    db_portal_sempur --no-acl > masterdata_schema.sql


                                        Karena kita tidak men-dump seluruh tabel
                                        Dalam database, maka sebelum melakukan
                                        Import ke database subscriber,
                                        Pastikan Sahabat telah menghapus
                                        Klausa constraint FK yang merujuk ke
                                        Tabel yang tidak ada dan menghapus trigger-
                                        Trigger yang ikut ter-dump
Tips : .pgpass
●   Agar tidak perlu memasukkan password secara
    interaktif, maka kita bisa menyimpan password
    pada file ~/.pgpass , formatnya :

    hostname:port:database:username:password
.pgpass di Subcriber
●   Tambahkan entri berikut di ~/.pgpass
      localhost:5432:masterdata:skytools:the_password
      10.1.4.203:5432:db_portal_sempur:skytools:the_password

                     Baris kedua adalah Provider


●   Ubah permission .pgpass
      chmod 0600 ~/.pgpass
Test Koneksi
            Database di Subscriber
●   Pastikan skytools di subscriber dapat mengakses
    database masterdata di localhost

    skytools@localhost $ psql -d masterdata
    masterdata=> select * from employee_all ;



●   Pastikan skytools di subscriber dapat mengakses
    database db_portal_sempur di Provider
          $ psql -d db_portal_sempur -h 10.1.4.203
          db_portal_sempur=> select * from employee_all ;
.pgpass di Provider
●   Tambahkan entri berikut di ~/.pgpass
      localhost:5432:db_portal_sempur:skytools:the_password
      10.1.4.158:5432:masterdata:skytools:the_password

                     Baris kedua adalah Subscriber


●   Ubah permission .pgpass
      chmod 0600 ~/.pgpass
Test Koneksi
              Database di Provider
●   Pastikan skytools di Provider dapat mengakses
    database db_portal_sempur di localhost

    skytools@localhost $ psql -d db_portal_sempur
    masterdata=> select * from employee_all ;



●   Pastikan skytools di Provider dapat mengakses
    database masterdata di Subscriber
          $ psql -d masterdata -h 10.1.4.158
          db_portal_sempur=> select * from employee_all ;
SkyTools Services
                   Di Provider maupun Di Subscriber
/home/skytools/conf/skytools.ini
# configure your skytools services here
# man scriptmgr3 for details.

[scriptmgr]
job_name = skytools3
logfile    = /home/skytools/log/%(job_name)s.log
pidfile    = /home/skytools/log/%(job_name)s.pid

config_list = /home/skytools/conf/*.ini

[DEFAULT]
cwd = /

[londiste3]
script = /opt/skytools3/bin/londiste3
args = worker

[pgqd]
script = /opt/skytools3/bin/pgqd
Membuat Konfigurasi Londiste
       untuk Provider
                                                      Konfigurasi ini
                                                   Digunakan di Provider


          /home/skytools/conf/db_portal.ini

          [londiste3]
          job_name = db_portal_sempur_replicate
          db = dbname=db_portal_sempur user=skytools port=5432
          queue_name = masterdata_replicate
          logfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.log
          pidfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.pid


Buat root node londiste :

  londiste3 conf/db_portal.ini create-root node1 dbname=db_portal_sempur
Membuat Konfigurasi Londiste
       untuk Provider
                                                      Konfigurasi ini
                                                   Digunakan di Provider


          /home/skytools/conf/db_portal.ini

          [londiste3]
          job_name = db_portal_sempur_replicate
          db = dbname=db_portal_sempur user=skytools port=5432
          queue_name = masterdata_replicate
          logfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.log
          pidfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.pid


Buat root node londiste :

  londiste3 conf/db_portal.ini create-root node1 dbname=db_portal_sempur
Menjalankan worker daemon pada
           root node



        londiste3 -d conf/db_portal.ini worker
Membuat Konfigurasi untuk
      Subscriber
                                                Konfigurasi ini
                                            Digunakan di Subscriber


  /home/skytools/conf/db_masterdata.ini

  [londiste3]
  job_name = db_masterdata
  db = dbname=masterdata user=skytools port=5432
  queue_name = masterdata_replicate
  logfile = /home/skytools/log/%(job_name)s.log
  pidfile = /home/skytools/log/%(job_name)s.pid
Membuat Node di Database Target


londiste3 conf/db_masterdata.ini create-leaf node2 dbname=masterdata
                                     --provider="dbname=db_portal_sempur host=10.1.4.203 port=5432"
Menjalankan Worker Daemon di
       Database Target



    londiste3 -d conf/db_masterdata.ini worker
Membuat Konfigurasi untuk
  PgQ Ticker Daemon
                               Di jalankan pada mesin tempat
                                  Database Provider berada
/home/skytools/conf/pgqd.ini

[pgqd]
base_connstr = “host=localhost port=5432 user=skytools”
initial_database = template1
database_list = db_portal_sempur, masterdata
logfile = /home/skytools/log/pgqd.log
pidfile = /home/skytools/log/pgqd.pid



Untuk melihat opsi konfigurasi yang lain, Sahabat bisa menjalankan perintah :

$pgqd --ini
Menjalankan Ticker Daemon




   pgqd -d conf/pgqd.ini
Menambahkan tabel di root node
●   Jalankan perintah berikut :
londiste3 conf/db_portal.ini add-table employee_all
   --handler=dispatch --handler-arg=skip_fields=password
londiste3 conf/db_portal.ini add-table organizationunit
londiste3 conf/db_portal.ini add-table organizationunit_parent
londiste3   conf/db_portal.ini add-table organizationunit_type
Menambahkan tabel di leaf node
  ●   Jalankan perintah berikut :
londiste3   conf/db_masterdata.ini add-table employee_all
  --handler=dispatch --handler-arg=skip_fields=password
londiste3   conf/db_masterdata.ini add-table organizationunit
londiste3   conf/db_masterdata.ini add-table organizationunit_parent
londiste3   conf/db_masterdata.ini add-table organizationunit_type
SkyTools init script
                  skytools3.init.d




Sahabat bisa melihat contoh init script sederhana
        pada tautan di alamat berikut :

              http://bit.ly/12BAEvy
Jalankan




/etc/init.d/skytools3 start
Menjalankan SkyTools Ketika Boot
Tambahkan baris script berikut untuk
menginisialisais SkyTools ketika boot di
/etc/rc.local

           export PGPASSFILE=/var/lib/pgsql/.pgpass
           /var/lib/pgsql/init/skytools3.init.d start
Referensi
●   Blue Skies: Practical Skytools,
    http://bit.ly/VRNt2E (Skytools 2)
●   Skytools 3 Documentation, http://bit.ly/12e4fuJ
●   PgPass, http://bit.ly/wpimnV
●   Londiste Tutorial, http://bit.ly/17E9BC

Más contenido relacionado

Similar a MENYEDIAKAN SKYTOOLS UNTUK MANAJEMEN DATA MASTER

PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)Walid Umar
 
Adminserver --smk teladan
Adminserver --smk teladanAdminserver --smk teladan
Adminserver --smk teladanNoviana Sitorus
 
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18syamsulhidayat28
 
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18syamsulhidayat28
 
Backup system-mikrotik
Backup system-mikrotikBackup system-mikrotik
Backup system-mikrotikcabikhosting
 
Training Mikrotik Dasar.pptx
Training Mikrotik Dasar.pptxTraining Mikrotik Dasar.pptx
Training Mikrotik Dasar.pptxMasnurLukman1
 
Praktik Kejuruan Pembahasana
Praktik Kejuruan PembahasanaPraktik Kejuruan Pembahasana
Praktik Kejuruan PembahasanaFirdika Arini
 
Ubuntu server tutorial
Ubuntu server tutorialUbuntu server tutorial
Ubuntu server tutorialAhmad Saroni
 
Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7Desman Tumanggor
 
Route Summarization di OSPF, EIGRP dan RIPv2
Route Summarization di OSPF, EIGRP dan RIPv2Route Summarization di OSPF, EIGRP dan RIPv2
Route Summarization di OSPF, EIGRP dan RIPv2I Putu Hariyadi
 

Similar a MENYEDIAKAN SKYTOOLS UNTUK MANAJEMEN DATA MASTER (20)

Workshop On eCos
Workshop On eCosWorkshop On eCos
Workshop On eCos
 
tugas 2
tugas 2tugas 2
tugas 2
 
Basic mikrotik router_os
Basic mikrotik router_osBasic mikrotik router_os
Basic mikrotik router_os
 
TUGAS DPP PEMOGRAMAN C++
TUGAS DPP PEMOGRAMAN C++TUGAS DPP PEMOGRAMAN C++
TUGAS DPP PEMOGRAMAN C++
 
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
 
KK_17_TKJ
KK_17_TKJKK_17_TKJ
KK_17_TKJ
 
Adminserver --smk teladan
Adminserver --smk teladanAdminserver --smk teladan
Adminserver --smk teladan
 
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
 
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
Monitoring sistem dengan graphite dan grafana host di docker pada ubuntu 18
 
Backup system-mikrotik
Backup system-mikrotikBackup system-mikrotik
Backup system-mikrotik
 
Pertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan MacroPertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan Macro
 
Qemu + Busybox Tutorial
Qemu + Busybox TutorialQemu + Busybox Tutorial
Qemu + Busybox Tutorial
 
Training Mikrotik Dasar.pptx
Training Mikrotik Dasar.pptxTraining Mikrotik Dasar.pptx
Training Mikrotik Dasar.pptx
 
FreeBSD Database Server
FreeBSD Database ServerFreeBSD Database Server
FreeBSD Database Server
 
FreeBSD Basic Setting
FreeBSD Basic SettingFreeBSD Basic Setting
FreeBSD Basic Setting
 
Praktik Kejuruan Pembahasana
Praktik Kejuruan PembahasanaPraktik Kejuruan Pembahasana
Praktik Kejuruan Pembahasana
 
Bab II routing
Bab II routingBab II routing
Bab II routing
 
Ubuntu server tutorial
Ubuntu server tutorialUbuntu server tutorial
Ubuntu server tutorial
 
Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7
 
Route Summarization di OSPF, EIGRP dan RIPv2
Route Summarization di OSPF, EIGRP dan RIPv2Route Summarization di OSPF, EIGRP dan RIPv2
Route Summarization di OSPF, EIGRP dan RIPv2
 

Más de Wildan Maulana

Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Wildan Maulana
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Wildan Maulana
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonKetahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonWildan Maulana
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Wildan Maulana
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipWildan Maulana
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWWildan Maulana
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpWildan Maulana
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity ProviderWildan Maulana
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Wildan Maulana
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpWildan Maulana
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationWildan Maulana
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...Wildan Maulana
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarWildan Maulana
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesWildan Maulana
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaWildan Maulana
 
Menggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingMenggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingWildan Maulana
 
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)Wildan Maulana
 

Más de Wildan Maulana (20)

Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonKetahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi Arsip
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphp
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River Restoration
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan Dasar
 
Statistik Listrik
Statistik ListrikStatistik Listrik
Statistik Listrik
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
 
Menggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingMenggunakan AlisJK : Equating
Menggunakan AlisJK : Equating
 
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)
Menggunakan AlisJK (Analisis Lembar Jawaban Kompuer/Analisis Item Soal)
 

MENYEDIAKAN SKYTOOLS UNTUK MANAJEMEN DATA MASTER

  • 1. Menggunakan Skytools Untuk Manajemen Data Master Wildan Maulana wildan.m@openthinklabs.com
  • 2. Lingkungan ● CentOS release 6.3 (Final) ● postgres (PostgreSQL) 8.4.13 ● SkyTools version 3.1.3
  • 3. Setup Layer : Provider & Ticker IP : 10.1.4.203 DB : db_portal_sempur User : skytools Layer : Subscriber IP : 10.1.4.148 DB : masterdata User : skytools
  • 4. Panduan Buat user 'skytools', baik di Producer maupun Consumer Kompilasi dan Install skytools, Baik di Producer maupun Consumer Install Producer Consumer ● Ticker ● Londiste3 ● Londiste3 ● pgQ ● pgQ
  • 5. Modul SkyTools ● PgQ, sistem queuing yang ditulis menggunakan PL/pgsql, Python dan C Terdiri dari tiga layer : ● Producers ● Consumers / Subscribers ● Ticker ● Londiste, tool replikasi yang ditulis menggunakan Python, menggunakan PgQ sebagai event transport ● Walmgr, script yang akan mensetup WAL archiving, melakukan backup awal, dan menjalankan WAL archive dan restore.
  • 8. Ticker ● Ticker dibutuhkan oleh Londiste ● Ticker harus diarahkan ke database yang menjadi “Provider”. ● Ticker dapat dijalankan pada mesin yang berbeda (tidak harus pada mesin yang sama dimana database “Provider” berada), meskipun pada umumnya biasanya Ticker dijalankan pada mesin yang sama dimana database “Provider” berada. ● Ticker dapat meng-host berapapun queue yang Sahabat inginkan. Setiap queue memiliki nama yang unik dan dapat digunakan oleh banyak subscriber.
  • 9. Instalasi Di Producer maupun Consumer ● Unduh SkyTools 3 di alamat berikut : http://bit.ly/WHUAJw ● Jalankan perintah berikut : ./configure --prefix=/opt/skytools3 --with-pgconfig=/usr/bin/pg_config make make install ●
  • 10. Instalasi Ubah Ownership /opt/skytools3 sudo chown skytools.skytools -R /opt/skytools3
  • 11. Instalasi Di Producer maupun Consumer ● Edit .bashrc, tambahkan baris berikut : PATH=$PATH:/opt/skytools3/bin/ export PATH PYTHONPATH=$PYHTONPATH:/opt/skytools3/lib64/python2.6/site-packages:/opt/skytools3/lib/python2.6/site-package s export PYTHONPATH ● Jalankan perintah : source ~/.bashrc
  • 12. Instalasi Pastikan Dapat Berjalan $ londiste3 --version $ pgqd --version $ qadmin --version $ queue_mover3 --version $ queue_splitter3 --version $ scriptmgr3 --version $ simple_consumer3 --version $ simple_local_consumer3 --version $ skytools_upgrade3 --version $ walmgr3 --version
  • 13. Mensetup Replikasi Londiste3 ● Tabel-tabel yang akan direplikasi : ● employee_all ● organizationunit ● organizationunit_parent ● organizationunit_type ● Pada Schema di database replikasi constraint FK tidak diikut sertakan, hanya struktur tabel dan constraint PK saja yang diikut sertakan.
  • 14. Mempersiapkan Database Target Replikasi (Subscriber) ● Buat database baru, misalkan namanya, masterdata, owner bisa disamakan dengan database sumber (provider) CREATE DATABASE masterdata WITH OWNER = mdm ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;
  • 15. Mempersiapkan Database Target Replikasi (Subscriber) ● Dump skema tabel-tabel yang ingin direplikasi dari database sumber (Provider). pg_dump --schema-only -t object_category -t organizationunit -t organizationunit_parent -t organizationunit_type -t employee_all --no-owner db_portal_sempur --no-acl > masterdata_schema.sql Karena kita tidak men-dump seluruh tabel Dalam database, maka sebelum melakukan Import ke database subscriber, Pastikan Sahabat telah menghapus Klausa constraint FK yang merujuk ke Tabel yang tidak ada dan menghapus trigger- Trigger yang ikut ter-dump
  • 16. Tips : .pgpass ● Agar tidak perlu memasukkan password secara interaktif, maka kita bisa menyimpan password pada file ~/.pgpass , formatnya : hostname:port:database:username:password
  • 17. .pgpass di Subcriber ● Tambahkan entri berikut di ~/.pgpass localhost:5432:masterdata:skytools:the_password 10.1.4.203:5432:db_portal_sempur:skytools:the_password Baris kedua adalah Provider ● Ubah permission .pgpass chmod 0600 ~/.pgpass
  • 18. Test Koneksi Database di Subscriber ● Pastikan skytools di subscriber dapat mengakses database masterdata di localhost skytools@localhost $ psql -d masterdata masterdata=> select * from employee_all ; ● Pastikan skytools di subscriber dapat mengakses database db_portal_sempur di Provider $ psql -d db_portal_sempur -h 10.1.4.203 db_portal_sempur=> select * from employee_all ;
  • 19. .pgpass di Provider ● Tambahkan entri berikut di ~/.pgpass localhost:5432:db_portal_sempur:skytools:the_password 10.1.4.158:5432:masterdata:skytools:the_password Baris kedua adalah Subscriber ● Ubah permission .pgpass chmod 0600 ~/.pgpass
  • 20. Test Koneksi Database di Provider ● Pastikan skytools di Provider dapat mengakses database db_portal_sempur di localhost skytools@localhost $ psql -d db_portal_sempur masterdata=> select * from employee_all ; ● Pastikan skytools di Provider dapat mengakses database masterdata di Subscriber $ psql -d masterdata -h 10.1.4.158 db_portal_sempur=> select * from employee_all ;
  • 21. SkyTools Services Di Provider maupun Di Subscriber /home/skytools/conf/skytools.ini # configure your skytools services here # man scriptmgr3 for details. [scriptmgr] job_name = skytools3 logfile = /home/skytools/log/%(job_name)s.log pidfile = /home/skytools/log/%(job_name)s.pid config_list = /home/skytools/conf/*.ini [DEFAULT] cwd = / [londiste3] script = /opt/skytools3/bin/londiste3 args = worker [pgqd] script = /opt/skytools3/bin/pgqd
  • 22. Membuat Konfigurasi Londiste untuk Provider Konfigurasi ini Digunakan di Provider /home/skytools/conf/db_portal.ini [londiste3] job_name = db_portal_sempur_replicate db = dbname=db_portal_sempur user=skytools port=5432 queue_name = masterdata_replicate logfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.log pidfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.pid Buat root node londiste : londiste3 conf/db_portal.ini create-root node1 dbname=db_portal_sempur
  • 23. Membuat Konfigurasi Londiste untuk Provider Konfigurasi ini Digunakan di Provider /home/skytools/conf/db_portal.ini [londiste3] job_name = db_portal_sempur_replicate db = dbname=db_portal_sempur user=skytools port=5432 queue_name = masterdata_replicate logfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.log pidfile = /var/lib/pgsql/data/pg_log/skytools/%(job_name)s.pid Buat root node londiste : londiste3 conf/db_portal.ini create-root node1 dbname=db_portal_sempur
  • 24. Menjalankan worker daemon pada root node londiste3 -d conf/db_portal.ini worker
  • 25. Membuat Konfigurasi untuk Subscriber Konfigurasi ini Digunakan di Subscriber /home/skytools/conf/db_masterdata.ini [londiste3] job_name = db_masterdata db = dbname=masterdata user=skytools port=5432 queue_name = masterdata_replicate logfile = /home/skytools/log/%(job_name)s.log pidfile = /home/skytools/log/%(job_name)s.pid
  • 26. Membuat Node di Database Target londiste3 conf/db_masterdata.ini create-leaf node2 dbname=masterdata --provider="dbname=db_portal_sempur host=10.1.4.203 port=5432"
  • 27. Menjalankan Worker Daemon di Database Target londiste3 -d conf/db_masterdata.ini worker
  • 28. Membuat Konfigurasi untuk PgQ Ticker Daemon Di jalankan pada mesin tempat Database Provider berada /home/skytools/conf/pgqd.ini [pgqd] base_connstr = “host=localhost port=5432 user=skytools” initial_database = template1 database_list = db_portal_sempur, masterdata logfile = /home/skytools/log/pgqd.log pidfile = /home/skytools/log/pgqd.pid Untuk melihat opsi konfigurasi yang lain, Sahabat bisa menjalankan perintah : $pgqd --ini
  • 29. Menjalankan Ticker Daemon pgqd -d conf/pgqd.ini
  • 30. Menambahkan tabel di root node ● Jalankan perintah berikut : londiste3 conf/db_portal.ini add-table employee_all --handler=dispatch --handler-arg=skip_fields=password londiste3 conf/db_portal.ini add-table organizationunit londiste3 conf/db_portal.ini add-table organizationunit_parent londiste3 conf/db_portal.ini add-table organizationunit_type
  • 31. Menambahkan tabel di leaf node ● Jalankan perintah berikut : londiste3 conf/db_masterdata.ini add-table employee_all --handler=dispatch --handler-arg=skip_fields=password londiste3 conf/db_masterdata.ini add-table organizationunit londiste3 conf/db_masterdata.ini add-table organizationunit_parent londiste3 conf/db_masterdata.ini add-table organizationunit_type
  • 32. SkyTools init script skytools3.init.d Sahabat bisa melihat contoh init script sederhana pada tautan di alamat berikut : http://bit.ly/12BAEvy
  • 34. Menjalankan SkyTools Ketika Boot Tambahkan baris script berikut untuk menginisialisais SkyTools ketika boot di /etc/rc.local export PGPASSFILE=/var/lib/pgsql/.pgpass /var/lib/pgsql/init/skytools3.init.d start
  • 35. Referensi ● Blue Skies: Practical Skytools, http://bit.ly/VRNt2E (Skytools 2) ● Skytools 3 Documentation, http://bit.ly/12e4fuJ ● PgPass, http://bit.ly/wpimnV ● Londiste Tutorial, http://bit.ly/17E9BC