इस लेख में, हम सीखेंगे कि कैसे 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 <[email protected]>" 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 तक की प्रक्रिया और एक व्यवस्थापक उपयोगकर्ता कैसे बनाएं।