MongoDB adalah open-source, salah satu database berorientasi dokumen (NoSQL) yang paling populer. Di MongoDB, data disimpan seperti dokumen JSON dengan skema dinamis tidak seperti tabel dan baris dalam database relasional.
MongoDB dirancang dengan mempertimbangkan skalabilitas dan kelincahan pengembang. Ini tersedia untuk Windows, Linux, OS X, Solaris, dan FreeBSD.
Dalam posting ini, kita akan melihat cara menginstal MongoDB di CentOS 8 / RHEL 8.
Edisi MongoDB
MongoDB Inc merilis dua edisi server MongoDB untuk pengguna akhir.
-
Server Perusahaan MongoDB
-
Server Komunitas MongoDB
Di sini, kita akan melihat cara menginstal edisi komunitas MongoDB. Server komunitas MongoDB dirilis di bawah Lisensi Publik Sisi Server (SSPL).
Tambahkan repositori MongoDB
MongoDB Inc menyediakan repositori perangkat lunak khusus untuk mengunduh dan menginstal database MongoDB.
Tambahkan repositori MongoDB di sistem Anda.
MongoDB 4.4
cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
MongoDB 4.2
cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
Instal MongoDB
Setelah Anda menambahkan repositori MongoDB, gunakan perintah dnf untuk menginstal MongoDB.
dnf install -y mongodb-org
mongob-org (Paket Meta yang menginstal komponen di bawah) | |
---|---|
mongodb-org-server | Paket Server |
mongodb-org-mongos | Daemon Bersama |
mongodb-org-shell | Antarmuka Baris Perintah |
mongodb-org-tools | Alat MongoDB (Impor, Ekspor, Pulihkan, Buang, dan alat lainnya) |
SELinux
Untuk menjalankan MongoDB dengan SELinux diaktifkan (mode penegakan), ikuti instruksi untuk menyesuaikan kebijakan SELinux untuk MongoDB. Lewati langkah-langkah di bawah ini, jika Anda telah menonaktifkan SELinux di sistem Anda.
Instal paket checkpolicy dengan perintah dnf.
dnf install -y checkpolicy
Buat file kebijakan SELinux untuk mengizinkan proses MongoDB mengakses cgroup untuk menentukan memori yang tersedia di sistem Anda.
cat > mongodb_cgroup_memory.te <<EOF
module mongodb_cgroup_memory 1.0;
require {
type cgroup_t;
type mongod_t;
class dir search;
class file { getattr open read };
}
#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };
EOF
Kompilasi dan muat modul kebijakan SELinux khusus kami menggunakan perintah di bawah ini.
checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod
semodule -i mongodb_cgroup_memory.pp
Langkah Pasca-Instalasi
Setelan Batas
Secara default, sebagian besar sistem memiliki batas yang ditetapkan untuk jumlah proses, file yang terbuka, memori, dll. yang dapat dimiliki pengguna tertentu (aplikasi fid), dan batasan ini dapat menyebabkan masalah dalam operasi MongoDB.
MongoDB sekarang menyediakan pengaturan batas yang disarankan dalam file unit systemd. Jadi, kita tidak perlu mengatur batasan secara manual.
Aktifkan Kontrol Akses
Jika Anda menggunakan database relasional seperti MySQL atau PostgreSQL, dll. dilengkapi dengan setidaknya beberapa tingkat autentikasi di mana pengguna perlu mengautentikasi diri mereka sendiri untuk melakukan aktivitas database.
Namun, dalam kasus MongoDB, tidak demikian. Semua pengguna dapat mengakses basis data apa pun dan melakukan operasi apa pun tanpa autentikasi.
Untuk mengatasi masalah ini, pertama buat pengguna admin untuk operasi harian.
Kemudian, kita perlu mengaktifkan kontrol akses dengan mengedit file konfigurasi MongoDB.
vi /etc/mongod.conf
Tambahkan baris di bawah ini.
security:
authorization: enabled
Nonaktifkan Halaman Besar
Halaman besar yang transparan sering kali menimbulkan masalah kinerja untuk beban kerja database. Jadi, MongoDB merekomendasikan agar halaman besar dinonaktifkan untuk performa terbaik.
Buat direktori tempat file profil yang disetel untuk menonaktifkan halaman besar.
mkdir /etc/tuned/virtual-guest-no-thp
Buat file.
vi /etc/tuned/virtual-guest-no-thp/tuned.conf
Tempatkan baris di bawah ini ke dalam file yang bisa.
[main]
include=virtual-guest
[vm]
transparent_hugepages=never
Aktifkan profil kami yang baru dibuat.
tuned-adm profile virtual-guest-no-thp
Mulai layanan MongoDB
Untuk memulai layanan MongoDB, jalankan:
systemctl start mongod
Untuk memeriksa status layanan MongoDB, jalankan:
systemctl status mongod
Output:● mongod.service - Server Database MongoDB Dimuat:dimuat (/usr/lib/systemd/system/mongod.service; diaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Sen 2020-08-10 13:10:15 WIB; 11 detik yang lalu Dokumen:https://docs.mongodb.org/manual Proses:3147 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Proses:3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (kode=keluar, status=0/SUCCESS) Proses:3143 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (kode=keluar, status=0/SU> Proses :3141 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (kode=keluar, status=0/SUCCESS) PID Utama:3149 (mongod) Memori:61.1M CGroup:/system.slice/mongod.service 3149 /usr/bin/mongod -f /etc/mongod.conf 10 Agustus 13:10:14 centos8.itzgeek.local systemd[1]:Memulai Server Database MongoDB...10 Agustus 13:10:14 centos8.itzgeek .mongod lokal[3147]:akan melakukan proses anak bercabang, menunggu hingga disajikan>10 Agustus 13:10:14 centos8.itzgeek.mongod lokal[3147]:proses bercabang:314910 Agustus 13:10:15 centos8.itzgeek.mongod lokal [3147]:proses anak berhasil dimulai, parent exiti>10 Agustus 13:10:15 centos8.itzgeek.local systemd[1]:Memulai Server Database MongoDB.Periksa versi MongoDB.
mongod --version
Output:db version v4.4.0Build Info:{ "version":"4.4.0", "gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf", "openSSLVersion":"OpenSSL 1.1.1c FIPS 28 Mei 2019", "modul" :[], "allocator":"tcmalloc", "environment":{ "distmod":"rhel80", "distarch":"x86_64", "target_arch":"x86_64" }}Gunakan perintah netstat untuk memeriksa apakah MongoDB mendengarkan pada port 27017.
netstat -antup | grep -i 27017
Keluaran:tcp 0 0 127.0.0.1:27017 0.0.0.0:* DENGARKAN 6898/mongodBACA: perintah netstat tidak ditemukan di CentOS 7 / RHEL 7 – Perbaikan Cepat
Akses MongoDB
Hubungkan ke shell MongoDB dengan memasukkan perintah berikut.
mongo
Output:MongoDB versi shell v4.4.0menghubungkan ke:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("3ecdceaa-5050-41a3-96e3-8f821362523b ") }Versi server MongoDB:4.4.0Selamat datang di shell MongoDB. Untuk bantuan interaktif, ketik "help".Untuk dokumentasi yang lebih lengkap, lihat https://docs.mongodb.com/Questions? Coba Forum Komunitas Pengembang MongoDB https://community.mongodb.com>Kesimpulan
Itu saja. Saya harap, sekarang, Anda memiliki MongoDB di sistem CentOS 8 / RHEL 8 Anda. Silakan bagikan tanggapan Anda di bagian komentar.
Cent OS