Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Mongodb

CentOS 7 . पर MongoDB को कैसे स्थापित और कॉन्फ़िगर करें

<घंटा/>

इस लेख में, हम सीखेंगे कि कैसे CentOS 7 पर MongoDB को स्थापित और कॉन्फ़िगर करना है, MongoDB जो एक ओपन-सोर्स और फ्री डेटाबेस है (एक NoSQL डेटाबेस है), इसका मतलब है कि यह एक दस्तावेज़-उन्मुख डेटाबेस है, यह दस्तावेज़ को संग्रहीत करता है जो है उच्च उपलब्धता, प्रदर्शन और ऑटो स्केलिंग के साथ जेएसओएन के समान संरचनात्मक रूप से (मोंगोडीबी में इसे बीएसओएन कहा जाता है)। RDBMS के विपरीत, इसे डेटाबेस तालिकाओं में डेटा जोड़ने के लिए किसी पूर्वनिर्धारित डेटाबेस स्कीमा की आवश्यकता नहीं होती है। हम मौजूदा स्कीमा को परेशान किए बिना किसी भी समय स्कीमा को बदल सकते हैं।

आवश्यकताएं

  • Linux मशीन पर Centos 7 स्थापित।
  • रूट उपयोगकर्ता विशेषाधिकार वाला एक उपयोगकर्ता।

MongoDB रिपॉजिटरी जोड़ना

डिफ़ॉल्ट रूप से, 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

एक बार जब हम मोंगोडीबी रिपॉजिटरी को स्थानीय मशीन में जोड़ देते हैं, तो हम सिस्टम को इस तरह से तैयार करेंगे कि यम रिपोजिटरी जानकारी की जांच करेगा।

# 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

MongoDB इंस्टॉल करना

चूंकि रिपॉजिटरी विवरण स्थानीय मशीन पर अपडेट किया जाता है, अब हम 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

MongoDB प्रक्रियाओं की संख्या को कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, जब हम Mongo चलाते हैं तो प्रक्रियाओं की संख्या 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

MongoDB व्यवस्थापक उपयोगकर्ता बनाना

यहां हम उपयोगकर्ता नाम व्यवस्थापक और पासवर्ड "पासवर्ड123" के साथ एक उपयोगकर्ता बनाएंगे, एक बार उपयोगकर्ता बनाने के बाद हम डेटाबेस में उपयोगकर्ता सूची की जांच करेंगे।

# 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. उबंटू में प्लैंक डॉक को कैसे डाउनलोड, इंस्टॉल और कॉन्फ़िगर करें?

    मैक ने लॉन्चर डॉक को लोकप्रिय बनाया हो सकता है, लेकिन यह लिनक्स है जहां उन्हें सिद्ध किया गया था। प्लैंक जैसे ऐप्स आपको अपने डेस्कटॉप पर ऐसा डॉक रखने की अनुमति देते हैं। वहां से, आप अपने पसंदीदा ऐप्स लॉन्च कर सकते हैं, सक्रिय ऐप्स को जोड़ सकते हैं, और उपयोगी जानकारी देख सकते हैं। आइए देखें कि आप अप

  1. रास्पबेरी पाई पर CentOS कैसे स्थापित करें?

    बाजार में सबसे लोकप्रिय सिंगल-बोर्ड कंप्यूटरों में से एक के रूप में, रास्पबेरी पाई अधिकांश लिनक्स उपयोगकर्ताओं के घरों में एक मुख्य आधार है। चाहे वह होम सर्वर अनुप्रयोगों के लिए हो, बच्चों के लिए कंप्यूटर, लिनक्स सीखने या किसी अन्य कौशल के लिए, आप निश्चित रूप से पाई के लिए उपयोग पा सकते हैं। होम सर्

  1. Mac पर MongoDB को आसानी से और त्वरित रूप से कैसे स्थापित करें

    तो, MongoDB Mac कैसे इंस्टॉल करें ? मोंगोडीबी, एक और नोएसक्यूएल सर्वर, आजकल सबसे अधिक उपयोग किया जाता है। ऐसा लगता है कि यह वास्तव में सिर्फ एक नोएसक्यूएल (सिर्फ एसक्यूएल भी नहीं) डेटाबेस से अधिक के रूप में वर्गीकृत किया गया है क्योंकि मोंगोडीबी के भीतर सामग्री वास्तव में संग्रहीत नहीं है और साथ ही