GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal MongoDB Pada CentOS 8 / RHEL 8

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.

  1. Server Perusahaan MongoDB

  2. 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/mongod

BACA: 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
  1. Cara Menginstal MongoDB di CentOS 8

  2. Cara Menginstal MongoDB 4.2 / 4.0 di CentOS 6 / RHEL 6

  3. Cara Menginstal MongoDB 4.4 / 4.2 di CentOS 7 / RHEL 7

  1. Cara menginstal phpMyAdmin di RHEL 8 / CentOS 8

  2. Cara Menginstal P7Zip di RHEL 8 / CentOS 8

  3. Cara menginstal ntfs-3g di RHEL 8 / CentOS 8

  1. Cara Menginstal PHP-mbstring di RHEL 8 / CentOS 8

  2. Cara menginstal phantomjs di RHEL 8 / CentOS 8

  3. Cara menginstal Dropbox di RHEL 8 / CentOS 8