======Installing packages======
The installation of Mongo DB is pretty straight forward. You can install a metapackage which will automatically install all necessary packages.
=====Configure YUM repository=====
The YUM repository for the MongoDB which I have used is the following:
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
=====Installation=====
The installation of the metapackage is done as follows:
[root@lpara yum.repos.d]# yum -y install mongodb-org.x86_64
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: ftp.hosteurope.de
* extras: ftp.hosteurope.de
* updates: ftp.hosteurope.de
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:2.6.12-1 will be installed
--> Processing Dependency: mongodb-org-shell = 2.6.12 for package: mongodb-org-2.6.12-1.x86_64
--> Processing Dependency: mongodb-org-server = 2.6.12 for package: mongodb-org-2.6.12-1.x86_64
--> Processing Dependency: mongodb-org-tools = 2.6.12 for package: mongodb-org-2.6.12-1.x86_64
--> Processing Dependency: mongodb-org-mongos = 2.6.12 for package: mongodb-org-2.6.12-1.x86_64
--> Running transaction check
---> Package mongodb-org-mongos.x86_64 0:2.6.12-1 will be installed
---> Package mongodb-org-server.x86_64 0:2.6.12-1 will be installed
---> Package mongodb-org-shell.x86_64 0:2.6.12-1 will be installed
---> Package mongodb-org-tools.x86_64 0:2.6.12-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================================
Installing:
mongodb-org x86_64 2.6.12-1 mongodb 4.6 k
Installing for dependencies:
mongodb-org-mongos x86_64 2.6.12-1 mongodb 6.9 M
mongodb-org-server x86_64 2.6.12-1 mongodb 9.1 M
mongodb-org-shell x86_64 2.6.12-1 mongodb 4.3 M
mongodb-org-tools x86_64 2.6.12-1 mongodb 90 M
Transaction Summary
================================================================================================================================================
Install 5 Package(s)
Total download size: 110 M
Installed size: 279 M
Downloading Packages:
(1/5): mongodb-org-2.6.12-1.x86_64.rpm | 4.6 kB 00:00
(2/5): mongodb-org-mongos-2.6.12-1.x86_64.rpm | 6.9 MB 00:02
(3/5): mongodb-org-server-2.6.12-1.x86_64.rpm | 9.1 MB 00:02
(4/5): mongodb-org-shell-2.6.12-1.x86_64.rpm | 4.3 MB 00:01
(5/5): mongodb-org-tools-2.6.12-1.x86_64.rpm | 90 MB 00:21
------------------------------------------------------------------------------------------------------------------------------------------------
Total 3.7 MB/s | 110 MB 00:29
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : mongodb-org-server-2.6.12-1.x86_64 1/5
Installing : mongodb-org-mongos-2.6.12-1.x86_64 2/5
Installing : mongodb-org-tools-2.6.12-1.x86_64 3/5
Installing : mongodb-org-shell-2.6.12-1.x86_64 4/5
Installing : mongodb-org-2.6.12-1.x86_64 5/5
Verifying : mongodb-org-shell-2.6.12-1.x86_64 1/5
Verifying : mongodb-org-tools-2.6.12-1.x86_64 2/5
Verifying : mongodb-org-mongos-2.6.12-1.x86_64 3/5
Verifying : mongodb-org-server-2.6.12-1.x86_64 4/5
Verifying : mongodb-org-2.6.12-1.x86_64 5/5
Installed:
mongodb-org.x86_64 0:2.6.12-1
Dependency Installed:
mongodb-org-mongos.x86_64 0:2.6.12-1 mongodb-org-server.x86_64 0:2.6.12-1 mongodb-org-shell.x86_64 0:2.6.12-1
mongodb-org-tools.x86_64 0:2.6.12-1
Complete!
In order to start the Mongo DB, you have to issue the following command:
=====Startup=====
--/bin/mongod -f /etc/mongod.conf -fork
[root@tain-cx-mdb1 scripts]# ./startMongoDB.sh
about to fork child process, waiting until server is ready for connections.
forked process: 61483
child process started successfully, parent exiting
[root@tain-cx-mdb1 scripts]#
[root@tain-cx-mdb1 scripts]# ps -ef | grep mongod
root 61483 1 0 17:24 ? 00:00:00 /bin/mongod -f /app/mongo/hunterServer/conf/mongo.conf --fork
root 61495 60595 0 17:24 pts/0 00:00:00 grep --color=auto mongod
=====Connect=====
You can connect to mongo DB using the following command:
[root@tain-cx-mdb1 scripts]# mongo localhost:9005
MongoDB shell version: 2.6.12
connecting to: localhost:9005/test
Server has startup warnings:
2018-03-20T17:24:46.332+0100 [initandlisten]
2018-03-20T17:24:46.332+0100 [initandlisten] ** WARNING: Readahead for /var/mongodb/db is set to 4096KB
2018-03-20T17:24:46.332+0100 [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2018-03-20T17:24:46.332+0100 [initandlisten] ** http://dochub.mongodb.org/core/readahead
>
> show dbs
admin (empty)
local 0.031GB
>
Where the configuration file is:
###mongo.conf file
port = 9005
logpath = /var/mongodb/logs/mongodb.log
logappend = true
pidfilepath = /var/mongodb/run/mongodb.pid
unixSocketPrefix = /var/mongodb/db
dbpath = /app/mongo
smallfiles = true
maxConns = 16000
You can also query all tables/collections within one database as follows:
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++) {
print('Collection: ' + collections[i]); // print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
}