এই নিবন্ধে, আমরা শিখব কিভাবে 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 <[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
মঙ্গোডিবি প্রসেসের সংখ্যা কনফিগার করা
ডিফল্টরূপে, যখন আমরা মঙ্গো চালাই তখন প্রসেসের সংখ্যা 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 পর্যন্ত প্রসেস এবং কিভাবে একজন অ্যাডমিন ব্যবহারকারী তৈরি করতে হয়।