bab iii perancangan system 3.1 pendahuluaneprints.umm.ac.id/40853/4/bab iii.pdf3.4 install dan...
TRANSCRIPT
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
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,
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
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
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
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.
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.
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
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.
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.
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.
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
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
23
Gambar 3.25 Web Server