MongoDB:Install mongodb on RHEL5.10
首先,登录MongoDB的官方网站:http://mongodb.org/,获取MongoDB的安装介质。
URL:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel55-3.0.4.tgz
创建MongoDB的软件目录(主目录:MongoDB_HOME):
1 2 |
[root@mongodb-1 software]# mkdir /mongodb_home [root@mongodb-1 software]# |
解压安装介质:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@mongodb-1 software]# ls mongodb-linux-x86_64-rhel55-3.0.3.tgz [root@mongodb-1 software]# [root@mongodb-1 software]# tar -xzf mongodb-linux-x86_64-rhel55-3.0.3.tgz [root@mongodb-1 software]# ls -l total 50252 drwxr-xr-x 3 root root 4096 Jun 20 22:07 mongodb-linux-x86_64-rhel55-3.0.3 -rw-r--r-- 1 root root 51395843 Jun 1 18:47 mongodb-linux-x86_64-rhel55-3.0.3.tgz [root@mongodb-1 software]# [root@mongodb-1 software]# cp -r mongodb-linux-x86_64-rhel55-3.0.3/* /mongodb_home/ [root@mongodb-1 software]# ls /mongodb_home/ bin GNU-AGPL-3.0 README THIRD-PARTY-NOTICES [root@mongodb-1 software]# |
MongoDB的安装介质解压后即可使用,不需要经历一步步安装的流程,即:它是绿色版的。
查看下安装介质自带的说明文件(Read Me):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
[root@mongodb-1 software]# cd /mongodb_home/ [root@mongodb-1 mongodb_home]# ls bin GNU-AGPL-3.0 README THIRD-PARTY-NOTICES [root@mongodb-1 mongodb_home]# [root@mongodb-1 mongodb_home]# cat README | wc -l 52 [root@mongodb-1 mongodb_home]# cat README MongoDB README Welcome to MongoDB! COMPONENTS bin/mongod - The database process. bin/mongos - Sharding controller. bin/mongo - The database shell (uses interactive javascript). UTILITIES bin/mongodump - MongoDB dump tool - for backups, snapshots, etc.. bin/mongorestore - MongoDB restore a dump bin/mongoexport - Export a single collection to test (JSON, CSV) bin/mongoimport - Import from JSON or CSV bin/mongofiles - Utility for putting and getting files from MongoDB GridFS bin/mongostat - Show performance statistics RUNNING For command line options invoke: $ ./mongod --help To run a single server database: $ mkdir /data/db $ ./mongod $ $ # The mongo javascript shell connects to localhost and test database by default: $ ./mongo > help DRIVERS Client drivers for most programming languages are available at mongodb.org. Use the shell ("mongo") for administrative tasks. DOCUMENTATION http://www.mongodb.org/ MAIL LISTS AND IRC http://dochub.mongodb.org/core/community 32 BIT BUILD NOTES MongoDB uses memory mapped files. If built as a 32 bit executable, you will not be able to work with large (multi-gigabyte) databases. However, 32 bit builds work fine with small development databases. [root@mongodb-1 mongodb_home]# [root@mongodb-1 mongodb_home]# |
MongoDB默认的数据库文件存放路径为:/data/db,该路径不会自动创建,因此,需要手动在启动MongoDB之前被创建:
1 2 |
[root@mongodb-1 mongodb_home]# mkdir -p /data/db [root@mongodb-1 mongodb_home]# |
启动MongoDB:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[root@mongodb-1 mongodb_home]# ls bin GNU-AGPL-3.0 README THIRD-PARTY-NOTICES [root@mongodb-1 mongodb_home]# cd bin [root@mongodb-1 bin]# ls bsondump mongod mongoexport mongoimport mongoperf mongos mongotop mongo mongodump mongofiles mongooplog mongorestore mongostat [root@mongodb-1 bin]# ./mongod 2015-06-20T22:26:57.930-0700 I JOURNAL [initandlisten] journal dir=/data/db/journal 2015-06-20T22:26:57.930-0700 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed 2015-06-20T22:26:58.385-0700 I JOURNAL [initandlisten] preallocateIsFaster=true 8.26 2015-06-20T22:26:58.845-0700 I JOURNAL [initandlisten] preallocateIsFaster=true 8.26 2015-06-20T22:27:00.290-0700 I JOURNAL [initandlisten] preallocateIsFaster=true 8.16 2015-06-20T22:27:00.290-0700 I JOURNAL [initandlisten] preallocating a journal file /data/db/journal/prealloc.0 2015-06-20T22:27:02.501-0700 I JOURNAL [initandlisten] preallocating a journal file /data/db/journal/prealloc.1 2015-06-20T22:27:03.952-0700 I JOURNAL [initandlisten] preallocating a journal file /data/db/journal/prealloc.2 2015-06-20T22:27:05.298-0700 I JOURNAL [durability] Durability thread started 2015-06-20T22:27:05.298-0700 I JOURNAL [journal writer] Journal writer thread started 2015-06-20T22:27:05.321-0700 I CONTROL [initandlisten] MongoDB starting : pid=9505 port=27017 dbpath=/data/db 64-bit host=mongodb-1 2015-06-20T22:27:05.331-0700 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2015-06-20T22:27:05.331-0700 I CONTROL [initandlisten] 2015-06-20T22:27:05.347-0700 I CONTROL [initandlisten] db version v3.0.3 2015-06-20T22:27:05.348-0700 I CONTROL [initandlisten] git version: b40106b36eecd1b4407eb1ad1af6bc60593c6105 2015-06-20T22:27:05.348-0700 I CONTROL [initandlisten] OpenSSL version: OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 2015-06-20T22:27:05.348-0700 I CONTROL [initandlisten] build info: Linux build17.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49 2015-06-20T22:27:05.348-0700 I CONTROL [initandlisten] allocator: tcmalloc 2015-06-20T22:27:05.348-0700 I CONTROL [initandlisten] options: {} 2015-06-20T22:27:05.450-0700 I INDEX [initandlisten] allocating new ns file /data/db/local.ns, filling with zeroes... 2015-06-20T22:27:05.489-0700 I STORAGE [FileAllocator] allocating new datafile /data/db/local.0, filling with zeroes... 2015-06-20T22:27:05.489-0700 I STORAGE [FileAllocator] creating directory /data/db/_tmp 2015-06-20T22:27:06.079-0700 I STORAGE [FileAllocator] done allocating datafile /data/db/local.0, size: 64MB, took 0.579 secs 2015-06-20T22:27:06.211-0700 I NETWORK [initandlisten] waiting for connections on port 27017 |
这样,MongoDB就运行起来了。
不过发起“./mongod”的会话会被挂起。
MongoDB运行起来之后,操作系统的状态:
1 2 3 4 5 6 7 8 |
[root@mongodb-1 ~]# netstat -tupln | grep --color mongo tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 9505/./mongod [root@mongodb-1 ~]# [root@mongodb-1 ~]# ps -ef | grep --color mongo avahi 3701 1 0 20:43 ? 00:00:00 avahi-daemon: running [mongodb-1.local] root 9505 3944 5 22:26 pts/1 00:00:03 ./mongod root 9545 9520 0 22:28 pts/2 00:00:00 grep --color mongo [root@mongodb-1 ~]# |
并且,这时候,MongoDB的数据库数据目录中也被添加了一些记录:
1 2 3 |
[root@mongodb-1 ~]# ls /data/db/ journal local.0 local.ns mongod.lock storage.bson _tmp [root@mongodb-1 ~]# |
关于数据目录的位置,和MS Windows中一样,可以通过“dbpath”参数单独制定:http://d-prototype.com/archives/2886
启动MongoDB的客户端连入MongoDB:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@mongodb-1 ~]# /mongodb_home/bin/mongo MongoDB shell version: 3.0.3 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2015-06-20T22:27:05.331-0700 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2015-06-20T22:27:05.331-0700 I CONTROL [initandlisten] > |
这时候之前因为运行“./mongod”而被挂起的会话,会记录有关这次登录MongoDB的日志:
1 2 3 4 5 |
-------------------------- 2015-06-20T22:33:20.491-0700 I NETWORK [initandlisten] connection accepted from 127.0.0.1:57755 #1 (1 connection now open) -------------------------- |
停掉MongoDB的服务:
最直接的方法,在挂起的会话中“Ctrl + C”中断“mongod”进程的运行,或者采用“kill -9”的方式杀掉进程,以达成同样的效果。
另一种方法是通过登录MongoDB执行类似Oracle的“shutdown immediate”的操作停库。
具体方式如下:
1 2 3 4 5 6 7 8 9 |
> use admin; switched to db admin > db.shutdownServer(); 2015-06-20T22:39:03.877-0700 I NETWORK DBClientCursor::init call() failed server should be down... 2015-06-20T22:39:03.881-0700 I NETWORK trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed 2015-06-20T22:39:03.882-0700 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:104 Connection reset by peer 2015-06-20T22:39:03.882-0700 I NETWORK reconnect 127.0.0.1:27017 (127.0.0.1) failed failed couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed > |
停库的过程中,挂起会话的日志输出如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
2015-06-20T22:38:45.646-0700 I NETWORK [initandlisten] connection accepted from 127.0.0.1:57759 #1 (1 connection now open) 2015-06-20T22:39:03.875-0700 I COMMAND [conn1] terminating, shutdown command received 2015-06-20T22:39:03.875-0700 I CONTROL [conn1] now exiting 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] shutdown: going to close listening sockets... 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] closing listening socket: 5 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] closing listening socket: 6 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] removing socket file: /tmp/mongodb-27017.sock 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] shutdown: going to flush diaglog... 2015-06-20T22:39:03.875-0700 I NETWORK [conn1] shutdown: going to close sockets... 2015-06-20T22:39:03.876-0700 I STORAGE [conn1] shutdown: waiting for fs preallocator... 2015-06-20T22:39:03.876-0700 I STORAGE [conn1] shutdown: final commit... 2015-06-20T22:39:03.881-0700 I JOURNAL [conn1] journalCleanup... 2015-06-20T22:39:03.881-0700 I JOURNAL [conn1] removeJournalFiles 2015-06-20T22:39:03.886-0700 I JOURNAL [conn1] Terminating durability thread ... 2015-06-20T22:39:03.982-0700 I JOURNAL [journal writer] Journal writer thread stopped 2015-06-20T22:39:03.982-0700 I JOURNAL [durability] Durability thread stopped 2015-06-20T22:39:03.982-0700 I STORAGE [conn1] shutdown: closing all files... 2015-06-20T22:39:03.983-0700 I STORAGE [conn1] closeAllFiles() finished 2015-06-20T22:39:03.984-0700 I STORAGE [conn1] shutdown: removing fs lock... 2015-06-20T22:39:03.984-0700 I CONTROL [conn1] dbexit: rc: 0 |
MongoDB成功被关闭。
——————————————————————————
Done。