MongoDB Community Server 3.6.0 versiyasının Centos/Rhel 7.0 üzərinə qurulması və start edilməsi.

MongoDB Community Server 3.6.0 versiyasının Centos/Rhel 7.0  üzərinə qurulması və start edilməsi.

MongoDB cross-platform, ödəniş tələb etməyən, sənəd-yönümlü(document-oriented) məlumatlar bazası proqramıdır. NoSQL database kimi klassifikasiya edilir. Open source proektdir və kodu GNU AGPLv3 lisenziyası ilə yayımlanır (https://github.com/mongodb/mongo). MongoDB kodu əsasən C++ və JavaScript üzərində yazlmışdır.

MongoDB sharding və məlumatların replikasiyası özəlliyinə görə çox müxtəlif sahələrdə istifadəsi mümkündür.

                

Bu məqalənin mövzusu MongoDB – nin qurulması və start edilməsi olduğuna görə onun arxitekturası və ya istifadə sahələri barədə danışılmayacaq.

Məqalədə YUM repozitoriyasından istifadə edərək MongoDB paketlərinin qurulmasına baxacağıq.

Yum repozitoriyasından qurulum edə bilmək üçün öncə repo faylını yaratmalıyıq. /etc/yum.repos.d folderində .repo sonluqlu yeni bir fayl yaradırıq və aşağıdakı məlumatları əlavə edirik.

 

 
 [mongodb36]
 name=MongoDB Repository
 baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
 gpgcheck=1
 enabled=1
 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

 

Digər Linux distro-larında və ya MongoDB-nin əvvəlki versiyalarını qurmaq istəyirsinizsə aşağıdakı linkdən istifadə edərək sizə uyğun repo-nu və ya bir-başa qurulum paketlərini yükləyə bilərsiniz.

Nümunə üçün MongoDB-nin 3.6 deyil 3.4 versiyası üçün repo faylı aşağıdakı kimi olacaq.

 

 
 [mongodb34]
 name=MongoDB 3.4 Repository
 baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
 gpgcheck=0
 enabled=1

 

Yaratdığımız repo fayllarının işlək olduğunu yoxlamaq üçün yum repolist əmrindən istifadə edək. Nəticəniz aşağıdakı kimidirsə repo-lar işləkdir.

MongoDB-nin 3.6 versiyası SSL dəstəyi ilə compile olduğuna əgər sisteminizdə OpenSLL qurulu deyilsə qurulmasına ehtiyac vardır. Yum install openssl əmri ilə bunu edə bilərsiniz.

MongoDB-nin qurulması üçün yum install mongodb-org əmrindən istifadə edəcəyik. Bu komanda ilə aşağıdakı paketlər qurulacaq. Əməliyyat sistemində qurulmuş paketlərdən asılı olaraq bu görüntü dəyişik ola bilər. 

Baxmayaraq ki, bizim repo-larda həm 3.4 həm də 3.6 versiyaları mövcuddur, yum susmaya görə ən yeni versiyanın yüklənməsini təklif edəcək. Hər hansı spesifik paket və ya versiyanın qurulmasını istəyirsinizsə bu zaman bunu qeyd etməyiniz lazımdır.

 
 yum install mongodb-org-3.4.0 

RedHat və Centos – da Selinux istifadə edirsinizsə MongoDB-nin işlədiyi port-un Selinux port context-ni dəyişməlisiniz. Getenforce əmri ilə Selinux-un aktiv olub – olmamasını yoxlaya bilərsiniz (Enforcing-aktivdir, Permissive və ya Disabled – aktiv deyil). Əgər fərqli dəyər verilməyibsə bu susmaya görə 27017 portudur. /etc/mongod.conf faylında bu dəyər net bölməsinin altında qeyd edilməlidir.

Hansı port istifadə edilməsindən asılı olaraq selinux əmri aşağıdakı kimi olacaq. Əgər Selinux Permissive və Disabled modundadırsa bu əməliyyatı etməyə ehtiyac yoxdur.

 
 semanage port -a -t mongod_port_t -p tcp 27017 

MongoDB servisini start etməzdən öncə /etc/mongod.conf faylına nəzər yetirək. Hal – hazırda bu faylda servisin start edilməsi üçün gərəkli olan ilkin parametrlər qeyd edilib. Bunlardan bizə maraqlı olan storage və systemLog bölmələridir. Storage bölməsində MongoDB data fayllarının hansı qovluqda yerləşəcəyi qeyd edilir. Server yükləndikdə susmaya görə bu /var/lib/mongo qovluğudur. İstəyinizə və tələblərinizə uyğun olaraq dəyişdirilə bilər. Qovluq dəyişdirilərsə yeni dəyər /etc/mongod.conf faylında qeyd edilir və əgər Selinux aktivdirsə uyğun context verilir. Nümunə üçün əgər data qovluğunu /data ilə əvəzləyəriksə aşağıdakı dəyişikliklər edilməlidir.

 
 semanage fcontext -a -t mongod_var_lib_t "/data(/.*)?" 

 

Config faylına müvafiq dəyişikliklər etdikdən sonra mongod servisini start edə bilərik.

 
 systemctl start mongod 

Data fayllarımızın yerləşdiyi qovluğu yoxladıqda faylların yarandığını görə bilərik.

Serverimiz start oldu və biz artıq mongo əmrini işə salaraq ona bağlanaraq istifadə edə bilərik.

 

 

MongoDB və ümumiyyətlə NoSQL mənim üçün də yeni mövzu olduğuna görə təklif və düzəlişlərinizi şərhlər bölməsində qeyd edə bilərsiniz. 

Səs: +10. Bəyənilsin Zəifdir

Müəllif: Yusif Yusifov

Şərh yazın