MongoDB adalah database NoSQL yang menyediakan kinerja tinggi, ketersediaan tinggi, dan penskalaan otomatis. Basis data NoSQL berarti, tidak seperti MySQL atau PostgreSQL, ia tidak mendukung SQL (Bahasa Kueri Terstruktur) untuk mengambil atau memanipulasi data yang disimpan.
MongoDB tidak menyimpan data dalam tabel. Sebagai gantinya, ia menyimpan data dalam struktur "dokumen" yang mirip dengan JSON (dalam MongoDB disebut BSON). MongoDB pertama kali diperkenalkan pada tahun 2009, enam tahun yang lalu, dan saat ini dikembangkan oleh MongoDB MongoDB Inc.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi MongoDB 4.4 di Server CentOS 8. Kami akan menginstal MongoDB, mengedit beberapa pengaturan sistem untuk memperbaiki beberapa kesalahan pada MongoDB, membuat pengguna administrator untuk MongoDB, dan kemudian otentikasi MongoDB.
Prasyarat
- Server CentOS 8
- Hak istimewa root
- Memahami perintah dasar Linux/CentOS
Apa yang akan kita lakukan?
- Tambahkan Repositori MongoDB
- Instal MongoDB di CentOS 8
- Perbaiki Beberapa Kesalahan MongoDB
- Buat Pengguna Admin MongoDB
- Aktifkan Otentikasi MongoDB
- Pengujian
Langkah 1 - Tambahkan Repositori MongoDB
Pertama, masuk ke server Anda menggunakan pengguna dan kata sandi SSH Anda, lalu perbarui semua paket ke versi terbaru menggunakan perintah di bawah ini.
ssh [email protected]
sudo dnf update
Sekarang masuk ke direktori '/etc/yum.repos.d' dan buat file repositori baru 'mongodb-4.4.repo' menggunakan editor vim.
cd /etc/yum.repos.d/
vim mongodb-4.4.repo
Rekatkan repositori MongoDB 4.4 berikut ke dalamnya.
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Simpan dan tutup.
Selanjutnya, periksa semua repositori yang tersedia di sistem CentOS menggunakan perintah dnf di bawah ini.
sudo dnf repolist
Di bawah ini adalah hasil yang akan Anda dapatkan.
Hasilnya, repositori MongoDB telah ditambahkan ke sistem CentOS 8.
Langkah 2 - Instal Server Database MongoDB NoSQL
Untuk menginstal MongoDB NoSQL Database, jalankan perintah dnf di bawah ini.
sudo dnf install -y mongodb-org
Setelah semua instalasi selesai, mulai layanan MongoDB dan tambahkan ke boot sistem.
systemctl start mongod
systemctl enable mongod
Layanan MongoDB aktif dan berjalan, periksa menggunakan perintah di bawah ini.
ss -plnt
systemctl status mongod
Di bawah ini adalah hasil yang akan Anda dapatkan.
Seperti yang dapat dilihat, layanan MongoDB berjalan pada port TCP default '27017'.
Langkah 3 - Perbaiki Kesalahan MongoDB
Pada tahap ini, layanan MongoDB sudah aktif dan berjalan di sistem CentOS 8. Dan untuk langkah ini, kami akan meningkatkan instalasi MongoDB kami dengan mengubah beberapa konfigurasi sistem untuk memperbaiki beberapa kesalahan.
- Nonaktifkan Halaman Besar Transparan (THP) menggunakan Tuned
Untuk meningkatkan performa instalasi MongoDB, kita perlu menonaktifkan THP atau Transparent Huge Pages di sistem kita. Dan untuk sistem CentOS, Anda dapat menonaktifkan THP melalui konfigurasi profil yang disetel.
Buat direktori baru '/etc/tuned/virtual-guest-no-thp' untuk profil yang disesuaikan dengan nama 'virtual-guest-no-thp'.
sudo mkdir -p /etc/tuned/virtual-guest-no-thp
Selanjutnya, buat konfigurasi 'tuned.conf' pada direktori '/etc/tuned/virtual-guest-no-thp/' menggunakan editor vim.
vim /etc/tuned/virtual-guest-no-thp/tuned.conf
Rekatkan konfigurasi berikut ke dalamnya.
[main]
include=virtual-guest
[vm]
transparent_hugepages=never
Simpan dan tutup.
Sekarang aktifkan profil baru yang disetel khusus 'virtual-guest-no-thp' menggunakan perintah tune-adm di bawah ini.
sudo tuned-adm profile virtual-guest-no-thp
Untuk memverifikasi status THP pada status Linux, periksa menggunakan perintah berikut.
cat /sys/kernel/mm/transparent_hugepage/enabled
Sekarang pastikan Anda mendapatkan '[never]' tanggapan seperti di bawah ini.
Seperti yang dapat dilihat, Halaman Besar Transparan pada sistem CentOS telah dinonaktifkan melalui profil Tuned.
- Siapkan UNIX Ulimit
Ulimits atau Batas pengguna digunakan untuk menentukan seberapa banyak sumber daya seluruh sistem yang dapat digunakan pengguna. Untuk meningkatkan dan menyempurnakan kinerja MongoDB, Anda perlu meningkatkan pengaturan ulimit untuk layanan MongoDB.
Sekarang masuk ke direktori '/etc/security/limits.d/' dan buat konfigurasi baru 'monogd.conf' menggunakan editor vim.
cd /etc/security/limits.d/
vim mongod.conf
Rekatkan konfigurasi berikut ke dalamnya.
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
Simpan dan tutup.
Untuk menerapkan konfigurasi baru, jalankan perintah di bawah ini.
sysctl -p
Sekarang pastikan Anda tidak memiliki kesalahan, dan konfigurasi Ulimit untuk MongoDB telah selesai.
- Nonaktifkan Peringatan MongoDB Cloud Monitoring (Opsional)
Tahap ini opsional. Anda dapat mengabaikan informasi tentang layanan MongoDB Cloud Monitoring saat Anda masuk ke shell MongoDB.
Untuk menonaktifkan peringatan ini, masuk ke shell MongoDB menggunakan perintah "mongo" di bawah ini.
mongo
Sekarang jalankan kueri berikut.
db.disableFreeMonitoring()
Ketik 'keluar ' untuk keluar dari shell MongoDB dan sekarang reboot server Anda.
sudo reboot
Akibatnya, peringatan layanan MongoDB Cloud Monitoring telah hilang.
Langkah 4 - Buat Pengguna Admin MongoDB
Pada langkah ini, kita akan membuat pengguna administrator untuk MongoDB melalui shell 'mongo'.
Masuk ke shell MongoDB menggunakan perintah 'mongo' di bawah ini.
mongo
Sekarang beralihlah ke database 'admin'.
use admin
Kemudian buat user baru 'admin' dengan password 'hakasepasswordformongodbadmin' menggunakan query berikut.
db.createUser(
{
user: "admin",
pwd: "hakasepasswordformongodbadmin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Dan pengguna MongoDB telah dibuat, periksa semua pengguna di MongoDB menggunakan kueri di bawah ini.
show users
Di bawah ini adalah hasil yang akan Anda dapatkan.
Hasilnya, pengguna admin untuk MongoDB telah dibuat, ketik 'exit' untuk keluar dari shell MongoDB.
Langkah 5 - Aktifkan Otentikasi MongoDB
Setelah membuat pengguna admin, kami akan mengaktifkan otentikasi MongoDB untuk mencegah pengguna lain tanpa hak yang memadai untuk melihat data di database.
Untuk mengaktifkan otentikasi MongoDB, edit konfigurasi '/etc/mongod.conf' menggunakan editor vim.
vim /etc/mongod.conf
Batalkan komentar pada opsi 'keamanan' dan tambahkan konfigurasi seperti di bawah ini.
security
authorization: "enabled"
Simpan dan tutup.
Selanjutnya, restart layanan MongoDB untuk menerapkan konfigurasi baru.
systemctl restart mongod
Pastikan tidak ada kesalahan, dan autentikasi MongoDB telah diaktifkan.
Langkah 6 - Pengujian
Untuk menguji instalasi dan konfigurasi otentikasi MongoDB, Anda dapat memverifikasi melalui shell MongoDB.
Masuk ke shell MongoDB menggunakan perintah di bawah ini.
mongo
Selanjutnya, alihkan ke database 'admin' dan tampilkan semua pengguna di MongoDB menggunakan kueri berikut.
use admin
show users
Di bawah ini adalah hasil yang akan Anda dapatkan.
Seperti yang dapat dilihat, Anda tidak berhak menampilkan semua daftar pengguna di database 'admin'.
Selanjutnya, autentikasi ke server MongoDB menggunakan kueri berikut.
db.auth('admin', 'hakasepasswordformongodbadmin')
Sekarang pastikan Anda mendapatkan nomor tanggapan '1' , yang berarti otentikasi berhasil.
Selanjutnya, Anda dapat menampilkan dan memeriksa semua pengguna yang tersedia di server MongoDB Anda menggunakan kueri di bawah ini.
show users
Dan Anda akan mendapatkan admin MongoDB yang baru saja kita buat di atas.
Hasilnya, instalasi dan konfigurasi MongoDB NoSQL Database Server pada sistem CentOS 8 telah berhasil diselesaikan.