Instalasi dan Konfigurasi MongoDB di sistem operasi Ubuntu
Instalasi dan Konfigurasi MongoDB di sistem operasi Ubuntu
Dalam membangun penyimpanan data IoT database memiliki berbagai
tantangan yang akan di hadapi meliputi Pertumbuhan data yang cepat,
jenis data yang beragam dan berbagai format data yang digunakan.
Dengan berbagai variasi data ini dapat terdiri dari data terstruktur
atau pun juga data tidak struktur. Oleh sebab itu, membutuhkan
platform penyimpanan data dengan kemampuan untuk penyimpanan dan
pengelollaan data terstruktur dan tidak terstruktur dengan cara yang
efisien.
Pada database umumnya mennggunakan dua jenis bahasa pemrograman yaitu
SQL dan NoSQL yang merupakan teknologi yang banyak digunakan sebagai
back end meda data penyimpanan. SQL dirancang untuk memproses data
yang terstruktur dan tidak dapat digunakan maximal jika menggunakan
data tidak terstruktur. NoSQL lebih mendukung berbagai varian data
yang tidak struktur yang biasanya digunakan untuk mengumpulkan data
dari IoT device sehinggan lebih di rekomendasikan untuk digunakan
dalam pengembangan sistem berbasis IoT device.
Database NoSQL dapat di implementasikan dengan aplikasi yang
mendukung seperti casandra dan mongoDB, MongoDB merupakan beberapa
dari NoSQL database aplikasi yang populer digunakan oleh banyak
pengembang. Selain itu MongoDB juga memiliki beberapa feature yang
sangat membantu dalam mengembangkan sistem NoSQL database seperti
dukungan dengan berbagai varian dari framework webservice dan sematic
data yang digunakan pada MongoDB menggunakan format data JSON.
BAGIAN 1
INSTALASI
MONGODB COMMUNITY EDITION
Sebelum melakukan instalasi, saya menggunakan
remote server dengan SSH dan memanfaat fitur public-key yang
disediakan oleh GitHub, berikut merupakan link referensi yang
digunakan :
-
Import public key yang digunakan oleh sistem manajemen package
Public key ini akan digunakan dalam proses
enkripsi, ketika melakukan instalasi MongoDB.
Berikut merupakan perintah untuk melakukan import
public key GPG MongoDB :
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Syntax diatas bertujuan agar proses instalasi
dilakukan dengan cara yang aman (secure)
melalui enkripsi data dengan import public key dari server.
-
Membuat list atau daftar file untuk MongoDB
Buat daftar file
etc/apt/sources.list.d/mongodb-org-3.6.list
menggunakan perintah yang sesuai dengan versi Ubuntu yang dipakai.
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
-
Reload database package lokal
Berikut merupakan perintah yang digunakan
melakukan reload atau memperbarui database package lokal :
- sudo apt-get update
-
Install MongoDB
Install versi terbaru yang dirilis dari MongoDB
dan berikut merupakan perintah yang digunakan :
- sudo apt-get install -y mongodb-org
Syntax install
diatas merupakan perintah untuk melakukan instalasi, sedangkan -y
merupakan syntax yang
otomatis memberikan konfirmasi seperti halnya ketika berlangsungnya
proses instalasi sistem meminta izin untuk menggunakan memori dengan
besaran tertentu, apabila menggunakan syntax -y
sistem tidak akan meminta
perizinan lagi dan langsung melakukan proses instalasi hingga
selesai. Kemudian, syntax mongodb-org
berfungsi untuk instalasi
versi stable MongoDB terbaru.
Referensi :
BAGIAN 2
ROBOMONGO
-
Download file deb dari website official RoboMongo
Robomongo merupakan Database Management System
(DBMS) yang di sediakan untuk mengelola database mongoDB yang saat
ini sudah berkembang menjadri studio 3T yang memiliki license
berbayar namun dapat mencoba free trial 30 hari. Versi yang saya
gunakan merupakan versi Robomongo yang lama.
Berikut merupakan perintah yang digunakan :
Syntax wget
digunakan untuk melakukan
download file dari website official RoboMongo, di mana file tersebut
yang akan dibutuhkan untuk instalasi RoboMongo. Berikut adalah hasil
screenshot ketika perintah dijalankan :
-
Instal file deb
Berikut merupakan perintah yang digunakan untuk
install file deb :
- sudo dpkg -i robomongo-0.8.5-x86_64.deb
Syntax dpkg
digunakan untuk mengelola
package instalasi Debian dan syntax -i
digunakan untuk melakukan
instalasi.
Terjadi masalah saat instalasi berlangsung, di
mana berdasarkan referensi yang saya cari di internet, tidak
menemukan solusi yang tepat. Sehingga, menurut pemahaman saya
instalasi tidak berhasil dilakukan, karena terdapat dependency
package yang belum disediakan oleh sistem operasi. Maka, perlu
melakukan download package secara manual. Berikut merupakan hasil
ketika syntax dijalankan dan terjadi masalah:
-
Download dan instalasi dependcy package yang dibutuhkan
Berikut merupakan syntax yang digunakan untuk
download package :
- wget http://th.archive.ubuntu.com/ubuntu/pool/main/m/mesa/libgl1-mesa-glx_18.0.0~rc5-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/m/mesa/libgl1-mesa-dev_18.0.0~rc5-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.30-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libx/libxcb/libxcb-glx0_1.11.1-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/x/xcb-util-wm/libxcb-icccm4_0.4.1-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/x/xcb-util-image/libxcb-image0_0.4.0-1build1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/x/xcb-util-keysyms/libxcb-keysyms1_0.4.0-1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libx/libxcb/libxcb-randr0_1.11.1-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/x/xcb-util-renderutil/libxcb-render-util0_0.3.9-1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libx/libxcb/libxcb-shape0_1.11.1-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libx/libxcb/libxcb-xkb1_1.11.1-1ubuntu1_amd64.debwget http://th.archive.ubuntu.com/ubuntu/pool/main/libx/libxkbcommon/libxkbcommon-x11-0_0.8.0-1_amd64.deb
Berikut merupakan syntax yang digunakan untuk
melakukan instalasi package :
- sudo dpkg -i libgl1-mesa-glx_18.0.0~rc5-1ubuntu1_amd64.debsudo dpkg -i libgl1-mesa-dev_18.0.0~rc5-1ubuntu1_amd64.debsudo dpkg -i libgtk2.0-0_2.24.30-1ubuntu1_amd64.debsudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.debsudo dpkg -i libxcb-glx0_1.11.1-1ubuntu1_amd64.debsudo dpkg -i libxcb-icccm4_0.4.1-1ubuntu1_amd64.debsudo dpkg -i libxcb-image0_0.4.0-1build1_amd64.debsudo dpkg -i libxcb-keysyms1_0.4.0-1_amd64.debsudo dpkg -i libxcb-randr0_1.11.1-1ubuntu1_amd64.debsudo dpkg -i libxcb-render-util0_0.3.9-1_amd64.debsudo dpkg -i libxcb-shape0_1.11.1-1ubuntu1_amd64.debsudo dpkg -i libxcb-xkb1_1.11.1-1ubuntu1_amd64.debsudo dpkg -i libxkbcommon-x11-0_0.8.0-1_amd64.deb
-
Buka RoboMongo
Berikut merupakan perintah yang digunakan untuk
membuka RoboMongo setelah melakukan instalasi :
- robomongo
Referensi :
BAGIAN 3
Menjalankan
Database MongoDB
1. Menjalankan service mongoDB
sudo service mongod start
|
2. Melakukan pengolahan database dengan mode CLI pada terminal
mongo
|
3. Membuat database pada mongodb dengan CLI
> use skt_db
|
4. Membuat user role untuk database skt_db sebagai pengelola database
> db.createUser({
user: 'refri',
pwd: '******',
roles: [{ role: 'readWrite',
db:'skt_db'}]
})
|
5. Melakukan remote database mongoDB, agara dapat di akses oleh host
lain
Konfigurasi jaringan mongoDB untuk melakukan binding host dan port
sudo nano /etc/mongod.conf
|
Ubah host dan port pada default mongodb adalah 127.0.0. port 27017
# network Interfaces
net:
port: 28015
bindIP: 192.168.100.4
#security
security
authorization: 'enabled'
|
Port dan IP disesuaikan dengan kondisi host, jika menggunakan DHCP
maka lakukan ifconfig dan sesuaikan dengan IP yang anda gunakan serta
port yang dapat di gunakan.
Melakukan remote database mongoDB menggunakan CLI pada mongoDB
mongo --host 192.168.100.4:28015
|
Melakukan remote database mongoDB menggunakan spesifik user
mongo -u refri -p ******
192.168.100.4:28015/skt_db
|
Referensi :
BAGIAN 4
Pembagian
User Role Pada database
Terdapat
3 user yang memiliki hak akses terhadap database dengan role tertentu
sesuai dengan fungsinya yaitu sebcriber, Hadoop-Spark, dan Server
RPC.
1.
Membuat User role untuk subcriber, dengan role readWrite karean
nantinya subcirber akan menginputkan data yang telah di dapatkan dari
sensing pada sisi publlisher. Pada mongoDB tidak ada role untuk
menulis saja sehingga role menjadi readWrite.
> db.createUser({
user: 'subcriber',
pwd: 'Adminsub',
roles: [{ role: 'readWrite',
db:'skt_db'}]
})
|
2.
Membuat Role untuk Hadoop-Spark dengan role readWrite karena pada
hadoop-spark tidak hanya untuk mengambil data tetapi juga memasukan
data hasil proses pada hadoop-spark tersebut.
> db.createUser({
user: 'hadoop-spark',
pwd: 'Adminhadoop',
roles: [{ role: 'readWrite',
db:'skt_db'}]
})
|
3.
Membuat role untuk RPC Server dengan role read karena hanya digunakan
untuk melakukan read data yang telah dikirimkan subcriber dan di olah
oleh hadoop-spark.
> db.createUser({
user: 'RPC-Server',
pwd: 'AdminRPC',
roles: [{ role: 'read',
db:'skt_db'}]
})
|
Komentar
Posting Komentar