bab iii perancangan system 3.1 pendahuluaneprints.umm.ac.id/40853/4/bab iii.pdf3.4 install dan...

14
10 BAB III PERANCANGAN SYSTEM 3.1 Pendahuluan Dalam perancangan system ini pembahasannya meliputi proses instalasi, konfigurasi dan integrasi perangkat lunak agar dapat berjalan pada jaringan yang dirancang. System sharding database yang dirancang adalah menggunakan empat unit server, dimana dua unit server difungsikan sebagai server Shard yang digunakan untuk menyimpan semua data, satu unit server difungsikan sebagai Config Server yang digunakan untuk menyimpan metadata klaster, dan satu unit server difungsikan sebagai Mongos/Query Router yang digunakan untuk antarmuka aplikasi. 3.2 Perancangan System Aplikasi database yang digunakan dalam tugas akhir ini adalah MongoDB yang sistem basis datanya berorentasi dokumen dan dikembangkan oleh MongoDB Inc, aplikasi ini sifatnya open source dan gratis, aplikasi ini mempunyai performansi kinerja yang tinggi, ketersediaan tinggi, dan penskalaan otomatis. Banyak digunakan oleh instansi maupun perusahaan yang mempunyai sistem basis data yang kompleks. Pada tugas akhir ini web server yang digunakan adalah httpd, web based managemen basis data yang digunakan adalah Mongo Express dengan diintegrasikan dengan PHP5. Tabel 3.1 Konfigurasi Sistem No IP Server Host Server 1. 192.168.10.30 Mongos Mongos 2. 192.168.10.31 Configsvr Configsvr 3. 192.168.10.32 Shardsvr1 Shardsvr1 4. 192.168.10.33 Shardsvr2 Shardsvr2

Upload: others

Post on 16-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

10

BAB III

PERANCANGAN SYSTEM

3.1 Pendahuluan

Dalam perancangan system ini pembahasannya meliputi proses instalasi,

konfigurasi dan integrasi perangkat lunak agar dapat berjalan pada jaringan yang

dirancang. System sharding database yang dirancang adalah menggunakan empat

unit server, dimana dua unit server difungsikan sebagai server Shard yang

digunakan untuk menyimpan semua data, satu unit server difungsikan sebagai

Config Server yang digunakan untuk menyimpan metadata klaster, dan satu unit

server difungsikan sebagai Mongos/Query Router yang digunakan untuk antarmuka

aplikasi.

3.2 Perancangan System

Aplikasi database yang digunakan dalam tugas akhir ini adalah MongoDB yang

sistem basis datanya berorentasi dokumen dan dikembangkan oleh MongoDB Inc,

aplikasi ini sifatnya open source dan gratis, aplikasi ini mempunyai performansi

kinerja yang tinggi, ketersediaan tinggi, dan penskalaan otomatis. Banyak

digunakan oleh instansi maupun perusahaan yang mempunyai sistem basis data

yang kompleks. Pada tugas akhir ini web server yang digunakan adalah httpd, web

based managemen basis data yang digunakan adalah Mongo Express dengan

diintegrasikan dengan PHP5.

Tabel 3.1 Konfigurasi Sistem

No IP Server Host Server

1. 192.168.10.30 Mongos Mongos

2. 192.168.10.31 Configsvr Configsvr

3. 192.168.10.32 Shardsvr1 Shardsvr1

4. 192.168.10.33 Shardsvr2 Shardsvr2

Page 2: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

11

3.3 Install dan konfigurasi Sistem Operasi Server

Sistem operasi yang digunakan dalam tugas akhir ini adalah CentOS 7 server,

CentOS 7 merupakan versi terbaru yang dikeluarkan oleh System Community

ENTerprise Operating System, sistem operasi ini berkelas enterprise yang memiliki

kompatibilitas kode biner sepenuhnya dengan kode sumber yang menjadi induknya,

Red Hat Enterprise Linux.

Topologi jaringan yang digunakan dalam Tugas Akhir ini adalah seperti berikut,

dimana ada dua buah server yang difungsikan sebagai server sharding dengan

sistem replikasi, satu server difungsikan sebagai server config dan satu server

difungsikan sebagai server apps.

Gambar 3.1 Desain Topologi

3.4 Install dan konfigurasi Server Shard, Mongos dan Config

Sebelum melakukan proses instalasi dan konfigurasi pada server-server,

terlebih dahulu melakukan penonaktifan selinux pada sistem operasi CentOS 7, ini

untuk mencegah adanya halangan pada saat hendak menginstall paket tertentu

seperti beberapa software yang tidak mendukung SELinux, ketikan command

berikut vi /etc/selinux/config kemudian ubah menjadi SELINUX = disabled, set hal

yang sama pada keempat server.

3.4.1 Install MongoDB pada Server Shard, Mongos dan Config

Sebelum memulai melakukan proses instalasi dan konfigurasi server Shard,

Mongos dan Config, tambahkan repository MongoDB pada masing-masing server,

Page 3: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

12

lakukan proses update dan upgrade sistem operasi dengan mengetikan command

yum update ; yum upgrade.

Gambar 3.2 Repository MongoDB

Proses instalasi mongodb dengan mengetikan command pada shell : yum install

mongodb-org

Gambar 3.3 Proses Instalasi MongoDB

Aplikasi mongodb yang terinstall pada server meliputi, mongodb-org,

mongodb-org-mongos, mongodb-org-shell, mongodb-org-tools, mongodb-org-

server, aplikasi-aplikasi tersebut merupkan dependency dari mongodb. Untuk

Page 4: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

13

membuktikan aplikasi mongodb terinstall bisa dicek dengan menggunakan

command mongod –version

Gambar 3.4 MongoDB Version

Versi aplikasi mongodb yang digunakan pada tugas akhir ini adalah db version

v3.4.13.

3.4.2 Konfigurasi Server Shard Replikasi

Pada server Shardsvr1 dan Shardsvr2 lakukan konfigurasi nama host pada

/etc/hosts dengan mengetikan vi /etc/hosts kemudian edit konfigurasi menjadi

seperti berikut :

Gambar 3.5 Konfigurasi Server Shard

Sebelum melakukan konfigurasi mongodb, berhentikan service aplikasi

mongodb terlebih dahulu dengan mengetikan command systemctl stop mongod,

kemudian buat direktori pada server shardsvr1 dan shardsvr2 dengan mengetikan

command berikut :

[root@shardsvr1 elektro]# mkdir –p /data/db1

[root@shardsvr1 elektro]# chown –Rv mongod:mongod /data/db1

[root@shardsvr2 elektro]# mkdir –p /data/db2

Page 5: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

14

[root@shardsvr2 elektro]# chown –Rv mongod:mongod /data/db2

Edit file /etc/mongod.conf untuk melakukan konfigurasi storage, bind ip,

replication pada server shardsvr1 dengan mengetikan vi /etc/mongod.conf, edit

sesuai dengan script berikut ini.

Gambar 3.6 Konfigurasi mongod.conf Shard Server1

Edit file /etc/mongod.conf untuk melakukan konfigurasi storage, bind ip,

replication pada server shardsvr2 dengan mengetikan vi /etc/mongod.conf, edit

sesuai dengan script berikut ini.

Gambar 3.7 Konfigurasi mongod.conf Shard Server2

Page 6: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

15

Setelah melakukakn konfigurasi pada server shardsvr1 dan shardsvr2,

jalankan file /etc/mongod.conf untu

k menguji apakah konfigurasi mongodb sudah benar atau tidak. Ketikan

command mongod –config /etc/mongod.conf untuk melakukan pengujian pada

server shardsvr1.

Gambar 3.8 Tes Server Shard1

Ketikan command mongod –config /etc/mongod.conf untuk melakukan pengujian

pada server shardsvr2.

Gambar 3.9 Tes Server Shard2

Pada kedua server muncul child process started successfully, parent exiting ini

menandakan bahwa konfigurasi sudah benar dan bisa dijalankan.

Untuk menguji apakah port yang diset pada file /etc/mongod.conf sudah

open atau masih close ketikan command netstat –plntu pada kedua server.

Gambar 3.10 Tes Port Server Shard1

Gambar 3.11 Tes Port Server Shard2

Setelah command diketikan muncul alamat ip dan port yang sudah di set pada file

/etc/mongod.conf menandakan bahwa file konfigurasi tidak ada yang salah dan

sudah sukses berjalan pada sistem.

Page 7: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

16

Gambar 3.12 Status Server Shard1 dan Shard2

Untuk memastikan aplikasi mongodb masih tetap berjalan dengan normal setelah

adanya perubahan pada file konfigurasi di /etc/mongod.conf bisa dengan

mengetikan command ps –ax | grep mongod, jika muncul seperti pada gambar

mongod –config /etc/mongod.conf menandakan bahwa konfigurasi sukses dan

aplikasi berjalan dengan baik.

3.4.3 Konfigurasi Server Config

Pada server configsvr lakukan konfigurasi nama host pada /etc/hosts dengan

mengetikan vi /etc/hosts kemudian edit konfigurasi menjadi seperti berikut :

Gambar 3.13 Konfigurasi Server Config

Sebelum melakukan konfigurasi mongodb, berhentikan service aplikasi

mongodb terlebih dahulu dengan mengetikan command systemctl stop mongod,

kemudian buat direktori pada server configsvr dengan mengetikan command

berikut :

[root@configsvr elektro]# mkdir –p /data/configdb

[root@configsvr elektro]# chown –Rv mongod:mongod /data/configdb

Edit file /etc/mongod.conf untuk melakukan konfigurasi storage, bind ip,

replication pada server configsvr dengan mengetikan vi /etc/mongod.conf, edit

sesuai dengan script berikut ini.

Page 8: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

17

Gambar 3.14 Konfigurasi mongod.conf Config

Setelah melakukakn konfigurasi pada server configsvr, jalankan file

/etc/mongod.conf untuk menguji apakah konfigurasi mongodb sudah benar atau

tidak. Ketikan command mongod –config /etc/mongod.conf untuk melakukan

pengujian pada server configsvr.

Gambar 3.15 Tes Server Config

Pada kedua server muncul child process started successfully, parent exiting ini

menandakan bahwa konfigurasi sudah benar dan bisa dijalankan.

Untuk menguji apakah port yang diset pada file /etc/mongod.conf sudah

open atau masih close ketikan command netstat –plntu pada kedua server.

Gambar 3.16 Tes Port Server Config

Page 9: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

18

Setelah command diketikan muncul alamat ip dan port yang sudah di set pada file

/etc/mongod.conf menandakan bahwa file konfigurasi tidak ada yang salah dan

sudah sukses berjalan pada sistem.

Gambar 3.17 Status Server Config

Untuk memastikan aplikasi mongodb masih tetap berjalan dengan normal setelah

adanya perubahan pada file konfigurasi di /etc/mongod.conf bisa dengan

mengetikan command ps –ax | grep mongod, jika muncul seperti pada gambar

mongod –config /etc/mongod.conf menandakan bahwa konfigurasi sukses dan

aplikasi berjalan dengan baik.

3.4.4 Konfigurasi Server Mongos

Pada server mongos lakukan konfigurasi nama host pada /etc/hosts dengan

mengetikan vi /etc/hosts kemudian edit konfigurasi menjadi seperti berikut :

Gambar 3.18 Konfigurasi Server Mongos

Sebelum melakukan konfigurasi mongodb, berhentikan service aplikasi

mongodb terlebih dahulu dengan mengetikan command systemctl stop mongod,

pada server mongos tidak perlu membuat direktori untuk storagenya :

Edit file /etc/mongod.conf untuk melakukan konfigurasi bind ip, replication

pada server mongos dengan mengetikan vi /etc/mongod.conf, edit sesuai dengan

script berikut ini.

Page 10: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

19

Gambar 3.19 Konfigurasi mongod.conf Mongos

Setelah melakukakn konfigurasi pada server mongos, hubungkan server

mongos dengan server configsvr dengan cara mengetikan command berikut

[root@mongos elektro]# mongos –configdb “configsvr01/configsvr:27018”

Gambar 3.20 Koneksi Server Mongos dengan Server Config

Jika muncul tanda Successfully connected to shardsvr1:27017 dan

Successfully connected to shardsvr2:27017 ini tanda nya koneksi sudah berhasil.

Page 11: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

20

Gambar 3.21 Status Server Mongos

Untuk memastikan aplikasi mongodb masih tetap berjalan dengan normal

setelah adanya perubahan pada file konfigurasi di /etc/mongod.conf dan

dikoneksikan dengan configsvr bisa dengan mengetikan command ps –ax | grep

mongod, jika muncul seperti pada gambar menandakan bahwa konfigurasi sukses

dan aplikasi berjalan dengan baik.

3.5 Konfigurasi Replikasi antara server Shardsvr1 dan Shardsvr2

Untuk membuat sistem replikasi antara server shardsvr1 dan shardsvr2

pertama-tama masuk kedalam server shardsvr1 agar bisa melakukan konfigurasi

sistem replikasinya, dengan cara mengetikan command berikut :

[root@configsvr elektro]# mongo –host shardsvr1 –port 27017

Gambar 3.22 Konfigurasi Replika Server Shard1 dan Shard2

Setelah muncul seperti pada gambar diatas, ketikan command rs.status()

untuk melihat status master dan slave pada server replikasi, jika tampilannya sama

seperti diatas berarti server belum dikonfigurasi sistem replikasinya. Ketikan

command rs.initiate ( dilanjutkan dengan command yang seperti pada gambar,

dimana shardreplica01 adalah nama replikasinya, shardsvr1 dan shardsvr2 adalah

anggota dari shardreplica01.

Page 12: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

21

Gambar 3.22 Konfigurasi Member Replika Server Shard1 dan Shard2

3.6 Konfigurasi server Mongos

3.6.1 Konfigurasi server Mongos dengan server Replikasi

Agar database yang ada pada server sharding dan replikasi bisa terbaca oleh

App server atau server Mongos, perlu ditambahkan pada server mongosnya,

sebelum menambahkan server replikasi ke server mongos, masuk dulu kedalam

server mongos dengan mengetikan command mongo –host mongo –port 27017 dan

cek status dengan command rs.status() sedangkan untuk menambahkan server

replikasi bisa dengan mengetikan command berikut ini.

Gambar 3.23 Konfigurasi server Mongos dengan server Replika

Tambahkan server replikasi dengan mengetikan command seperti pada gambar

berikut ini.

Gambar 3.24 Menambahkan Server Shard padaServer Replika

Page 13: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

22

3.6.2 Install dan Konfigurasi web server pada server Mongos

Untuk memudahkan manajemen database pada server sharding, perlu

diinstall aplikasi manajemen mongodb berbasis web, dalam tugas akhir ini aplikasi

yang diinstall adalah mongoadmin, sebelum melakukan proses instalasi

mongoadmin yang pertama diinstall adalah aplikasi web server, install httpd dan

php dengan mengetikan command

[root@mongos elektro]# yum install httpd php php-pear php-pecl-mongodb

php-mbstring php-soap php-devel php-mongodb php-intl

[root@mongos elektro]# systemctl start httpd.service

Untuk melihat aplikasi web server httpd sudah support dengan aplikasi

database mongodb, buat sebuah dile info.php di directory /var/www/html/ dengan

mengetikan

[root@mongos elektro]# touch /var/www/html/info.php

[root@mongos elektro]# vi /var/www/html/info.php

Isi file info.php dengan script berikut

<?php

phpinfo();

?>

Sebelum melakukan test file php sudah support dengan mongodb, konfigurasi file

/etc/php/php.ini untuk mengaktifkan support php dengan mongodb.

[root@mongos elektro]# vi /etc/php/php.ini

Edit file /etc/php/php.ini dan isi dengan script berikut

; Directory in which the loadable extensions (modules) reside.

; http://php.net/extension-dir

; extension_dir = "./"

; On windows:

; extension_dir = "ext"

extension="mongo.so" script ini untuk mengaktifkan support php terhadap

mongodb

Untuk mengetest file info.php berfungsi, arahkan browser dengan mengetikan

http://192.168.16.32/info.php

Page 14: BAB III PERANCANGAN SYSTEM 3.1 Pendahuluaneprints.umm.ac.id/40853/4/BAB III.pdf3.4 Install dan konfigurasi Server Shard, Mongos dan Config Sebelum melakukan proses instalasi dan konfigurasi

23

Gambar 3.25 Web Server