কম্পিউটার

কিভাবে CentOS 7 এ MongoDB ইনস্টল এবং কনফিগার করবেন


এই নিবন্ধে, আমরা শিখব কিভাবে CentOS 7, MongoDB-এ MongoDB ইনস্টল এবং কনফিগার করতে হয় যা একটি ওপেন-সোর্স এবং ফ্রি ডাটাবেস (একটি NoSQL ডাটাবেস), মানে এটি একটি নথি-ভিত্তিক ডাটাবেস, এটি নথি সংরক্ষণ করে যা উচ্চ প্রাপ্যতা, কর্মক্ষমতা এবং স্বয়ংক্রিয় স্কেলিং সহ কাঠামোগতভাবে JSON (মঙ্গোডিবিতে এটিকে BSON বলা হয়) অনুরূপ। RDBMS এর বিপরীতে, ডাটাবেস টেবিলে ডেটা যোগ করার জন্য এটির কোনো পূর্বনির্ধারিত ডাটাবেস স্কিমার প্রয়োজন নেই। বিদ্যমান স্কিমাকে বিরক্ত না করে আমরা যেকোনো সময় স্কিমা পরিবর্তন করতে পারি।

পূর্বশর্ত

  • লিনাক্স মেশিনে সেন্টোস 7 ইনস্টল করা হয়েছে।
  • রুট ব্যবহারকারীর সুবিধা সহ একজন ব্যবহারকারী।

মঙ্গোডিবি সংগ্রহস্থল যোগ করা হচ্ছে

ডিফল্টরূপে, MongoDB সংগ্রহস্থল CentOS 7 সংগ্রহস্থলে নেই, আমাদের স্থানীয় মেশিনে MongoDB সংগ্রহস্থল যোগ করতে হবে।

# vi /etc/yum.repos.d/mongodb-org.repo
Output:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

একবার আমরা স্থানীয় মেশিনে MongoDB সংগ্রহস্থল যোগ করার পরে, আমরা সিস্টেমটি করব যাতে yum সংগ্রহস্থলের তথ্য চেক করবে৷

# yum update
Output:
Loaded plugins: fastestmirror
base                                           | 3.6 kB 00:00
extras                                         | 3.4 kB 00:00
mongodb-org-3.2                               | 2.5 kB 00:00
updates                                        | 3.4 kB 00:00
mongodb-org-3.2/7/primary_db | 54 kB 00:01
Determining fastest mirrors
* base: mirror.dhakacom.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
No packages marked for update

মঙ্গোডিবি ইনস্টল করা হচ্ছে

যেহেতু স্থানীয় মেশিনে সংগ্রহস্থলের বিশদ আপডেট করা হয়েছে, আমরা এখন yum কমান্ড ব্যবহার করে MongoDB ইনস্টল করব।

নিচে MongoDB ইন্সটল করার কমান্ড দেওয়া হল।

# yum install mongodb-org
Output:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.dhakacom.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:3.2.11-1.el7 will be installed
…
…
…
---> Package mongodb-org-mongos.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-server.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-shell.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-tools.x86_64 0:3.2.11-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package                Arch       Version       Repository       Size
================================================================================
Installing:
mongodb-org            x86_64    3.2.11-1.el7   mongodb-org-3.2 5.8 k
Installing for dependencies:
mongodb-org-mongos    x86_64     3.2.11-1.el7   mongodb-org-3.2 5.6 M
mongodb-org-server    x86_64     3.2.11-1.el7   mongodb-org-3.2 12 M
mongodb-org-shell     x86_64     3.2.11-1.el7   mongodb-org-3.2 6.7 M
mongodb-org-tools     x86_64     3.2.11-1.el7   mongodb-org-3.2 41 M
Transaction Summary
================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 66 M
Installed size: 201 M
Is this ok [y/d/N]:y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mongodb-org-3.2/packages/mongodb-org-3.2.11-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID ea312927: NOKEY
Public key for mongodb-org-3.2.11-1.el7.x86_64.rpm is not installed
(1/5): mongodb-org-3.2.11-1.el7.x86_64.rpm | 5.8 kB 00:01
(2/5): mongodb-org-mongos-3.2.11-1.el7.x86_64.rpm | 5.6 MB 00:01
(3/5): mongodb-org-shell-3.2.11-1.el7.x86_64.rpm | 6.7 MB 00:00
(4/5): mongodb-org-server-3.2.11-1.el7.x86_64.rpm | 12 MB 00:06
(5/5): mongodb-org-tools-3.2.11-1.el7.x86_64.rpm | 41 MB 00:06
--------------------------------------------------------------------------------
Total 7.3 MB/s | 66 MB 00:08
Retrieving key from https://www.mongodb.org/static/pgp/server-3.2.asc
Importing GPG key 0xEA312927:
Userid : "MongoDB 3.2 Release Signing Key <packaging@mongodb.com>"
Fingerprint: 42f3 e95a 2c4f 0827 9c49 60ad d68f a50f ea31 2927
From : https://www.mongodb.org/static/pgp/server-3.2.asc
Is this ok [y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
   Installing : mongodb-org-server-3.2.11-1.el7.x86_64 1/5
   Installing : mongodb-org-mongos-3.2.11-1.el7.x86_64 2/5
   Installing : mongodb-org-tools-3.2.11-1.el7.x86_64 3/5
   Installing : mongodb-org-shell-3.2.11-1.el7.x86_64 4/5
   Installing : mongodb-org-3.2.11-1.el7.x86_64 5/5
   Verifying : mongodb-org-shell-3.2.11-1.el7.x86_64 1/5
   Verifying : mongodb-org-tools-3.2.11-1.el7.x86_64 2/5
   Verifying : mongodb-org-mongos-3.2.11-1.el7.x86_64 3/5
   Verifying : mongodb-org-server-3.2.11-1.el7.x86_64 4/5
   Verifying : mongodb-org-3.2.11-1.el7.x86_64 5/5
Installed:
   mongodb-org.x86_64 0:3.2.11-1.el7
Dependency Installed:
   mongodb-org-mongos.x86_64 0:3.2.11-1.el7
   mongodb-org-server.x86_64 0:3.2.11-1.el7
   mongodb-org-shell.x86_64 0:3.2.11-1.el7
   mongodb-org-tools.x86_64 0:3.2.11-1.el7

Complete!

একবার MongoDD ইনস্টল হয়ে গেলে, আমরা এখন MongoDB পরিষেবা শুরু করব।

নীচে MongoDB পরিষেবাগুলি শুরু করার জন্য নির্দেশ দেওয়া হল –

# systemctl start mongod

MongoDB পরিষেবার স্থিতি পরীক্ষা করতে আমরা নীচের কমান্ডটি চালাই৷

# systemctl status mongod

Output:
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
Loaded: loaded (/etc/rc.d/init.d/mongod)
Active: active (running) since Fri 2016-11-25 14:09:25 IST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 9901 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mongod.service
└─9912 /usr/bin/mongod -f /etc/mongod.conf
Nov 25 14:09:25 localhost.localdomain systemd[1]: Starting SYSV: Mongo is a s...
Nov 25 14:09:25 localhost.localdomain runuser[9908]: pam_unix(runuser:session...
Nov 25 14:09:25 localhost.localdomain runuser[9908]: pam_unix(runuser:session...
Nov 25 14:09:25 localhost.localdomain mongod[9901]: Starting mongod: [ OK ]
Nov 25 14:09:25 localhost.localdomain systemd[1]: Started SYSV: Mongo is a sc...Hint: Some lines were ellipsized, use -l to show in full.

MongoDB কনফিগারেশন পুনরায় লোড করুন

# systemctl reload mongod

MongoDB পরিষেবা বন্ধ করুন

# systemctl stop mongod

মঙ্গোডিবি প্রসেসের সংখ্যা কনফিগার করা

ডিফল্টরূপে, যখন আমরা মঙ্গো চালাই তখন প্রসেসের সংখ্যা 4096-এ খুব কম হয়, তাই MongoDB নীচের ত্রুটি দেখাবে –

# mongo
Output:
MongoDB shell version: 3.2.11
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.org/
Questions? Try the support group
https://groups.google.com/group/mongodb-user
Server has startup warnings:
2016-11-25T14:09:25.553+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
2016-11-25T14:09:25.553+0530 I CONTROL [initandlisten]

প্রক্রিয়ার সংখ্যা ঠিক করার জন্য আমাদের “20-nproc.conf” ফাইলটি সম্পাদনা করতে হবে যা “/etc/security/limits.d/”

-এ রয়েছে।
# vi /etc/security/limits.d/20-nproc.conf
Output:
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited

আমাদের 4096 থেকে 32000

পরিবর্তন করতে হবে
* soft nproc 32000

একবার আমরা মান পরিবর্তন করে 32000 করে ফেললে আমাদের MongoDB পরিষেবাগুলি পুনরায় চালু করতে হবে, নীচে MongoDB পরিষেবাগুলি পুনরায় চালু করার নির্দেশ রয়েছে৷

# systemctl restart mongod

মঙ্গোডিবি অ্যাডমিনিস্ট্রেটর ব্যবহারকারী তৈরি করা হচ্ছে

এখানে আমরা ব্যবহারকারীর নাম অ্যাডমিন এবং পাসওয়ার্ড "password123" সহ একজন ব্যবহারকারী তৈরি করব, একবার আমরা ব্যবহারকারী তৈরি করার পরে আমরা ডাটাবেসে ব্যবহারকারীর তালিকা পরীক্ষা করব।

# mongo
Output:
MongoDB shell version: 3.2.11
connecting to: test
> use admin
switched to db admin
> db.createUser(
...    {
...       user: "admin",
...       pwd: "password123",
...       roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...    }
... )
Successfully added user: {
   "user" : "admin",
   "roles" : [
      {
         "role" : "userAdminAnyDatabase",
         "db" : "admin"
      }
   ]
}
> show users;
{
   "_id" : "admin.admin",
   "user" : "admin",
   "db" : "admin",
   "roles" : [
      {
         "role" : "userAdminAnyDatabase",
         "db" : "admin"
      }
   ]
}
>

এই নিবন্ধে, আমরা শিখেছি – কীভাবে স্থানীয় মেশিনে MongoDB সংগ্রহস্থল যোগ করতে হয় এবং MongoDB ইনস্টল করতে হয় এবং আমরা কীভাবে নম্বর পরিবর্তন বা বাড়াতে হয় সে সম্পর্কেও শিখেছি। MongoDB কনফিগারেশনে 4096 থেকে 32000 পর্যন্ত প্রসেস এবং কিভাবে একজন অ্যাডমিন ব্যবহারকারী তৈরি করতে হয়।


  1. কিভাবে লিনাক্সে bspwm ইনস্টল এবং কনফিগার করবেন

  2. উবুন্টুতে প্ল্যাঙ্ক ডক কীভাবে ডাউনলোড, ইনস্টল এবং কনফিগার করবেন

  3. কীভাবে একটি রাস্পবেরি পাইতে CentOS ইনস্টল করবেন

  4. কিভাবে সহজে এবং দ্রুত ম্যাকে MongoDB ইনস্টল করবেন