CentOS6.5上源码安装MongoDB3.2.1

[日期:2016-01-27] 来源:Linux社区  作者:darren-lee [字体:  ]

1、环境准备:

1 mkdir /home/mongodb           #创建MongoDB程序存放目录2 mkdir /data/mongodata -p      #创建数据存放目录3 mkdir /data/log/mongolog -p   #创建日志存放目录

2、下载:

1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz

3、安装:

1 tar xf mongodb-linux-x86_64-3.2.1.tgz2 cd mongodb-linux-x86_64-3.2.13 cp -r * /home/mongodb

为了便于命令启动,需要编辑全局变量PATH

1 vim /etc/profile.d/mongo.sh2 export PATH=$PATH:/home/mongodb/bin
source /etc/profile.d/mongo.sh

4、启动服务

首先查看mongod的帮助信息

 1 [root@test ~]# mongod --help   2 Options:   3    4 General options:   5   -h [ --help ]           show this usage information   6   --version               show version information   7   -f [ --config ] arg        configuration file specifying  8                      additional options  9  -v [ --verbose ] [=arg(=v)]  be more verbose (include multiple times  10                        for more verbosity e.g. -vvvvv)  11   --quiet           quieter output   12   --port arg      #指定mongodb服务的端口号,默认为:27017  13   --bind_ip arg    #在多网卡的机器上指定mongodb服务绑定到哪一个ip上  15   --ipv6        enable IPv6 support (disabled by  16               default)  17   --maxConns arg    #指定最大客户端连接数  19   --logpath arg    #指定日志文件路径,必须是一个文件,而不是目录  20   --syslog       log to system's syslog facility instead  23               of file or stdout  24   --syslogFacility arg     syslog facility used for mongodb syslog  25                   message  26   --logappend       #以追加的方式打印日志到--logpath参数指定的日志文件中  28   --logRotate arg     set the log rotation behavior  29                 (rename|reopen)  30   --timeStampFormat arg     Desired format for timestamps in log  31             messages. One of ctime, iso8601-utc or  32                                         iso8601-local 33   --pidfilepath arg                     full path to pidfile (if not set, no  34                                         pidfile is created) 35   --keyFile arg                         private key for cluster authentication 36   --setParameter arg                    Set a configurable parameter 37   --httpinterface                       enable http interface 38   --clusterAuthMode arg                 Authentication mode used for cluster  39                                         authentication. Alternatives are  40                                         (keyFile|sendKeyFile|sendX509|x509) 41   --nounixsocket                        disable listening on unix sockets 42   --unixSocketPrefix arg                alternative directory for UNIX domain  43                                         sockets (defaults to /tmp) 44   --filePermissions arg                 permissions to set on UNIX domain  45                                         socket file - 0700 by default 46   --fork                                #以daemon的形式运行服务进程 47   --auth                                run with security 48   --noauth                              run without security 49   --jsonp                               allow JSONP access via http (has  50                                         security implications) 51   --rest                                turn on simple rest api 52   --slowms arg (=100)                   value of slow for profile and console  53                                         log 54   --profile arg                         0=off 1=slow, 2=all 55   --cpu                                 periodically show cpu and iowait  56                                         utilization 57   --sysinfo                             print some diagnostic system  58                                         information 59   --noIndexBuildRetry                   don't retry any index builds that were  60                                         interrupted by shutdown 61   --noscripting                         disable scripting engine 62   --notablescan                         do not allow table scans 63   --shutdown                            kill a running server (for init  64                                         scripts) 65  66 Replication options: 67   --oplogSize arg                       size to use (in MB) for replication op  68                                         log. default is 5% of disk space (i.e.  69                                         large is good) 70  71 Master/slave options (old; use replica sets instead): 72   --master                              master mode 73   --slave                               slave mode 74   --source arg                          when slave: specify master as  75                                         
 76   --only arg                            when slave: specify a single database  77                                         to replicate 78   --slavedelay arg                      specify delay (in seconds) to be used  79                                         when applying master ops to slave 80   --autoresync                          automatically resync if slave data is  81                                         stale 82  83 Replica set options: 84   --replSet arg                         arg is 
[/
] 86   --replIndexPrefetch arg               specify index prefetching behavior (if  87                                         secondary) [none|_id_only|all] 88   --enableMajorityReadConcern           enables majority readConcern 89  90 Sharding options: 91   --configsvr                           declare this is a config db of a  92                                         cluster; default port 27019; default  93                                         dir /data/configdb 94   --configsvrMode arg                   Controls what config server protocol is 95                                         in use. When set to "sccc" keeps server 96                                         in legacy SyncClusterConnection mode  97                                         even when the service is running as a  98                                         replSet 99   --shardsvr                            declare this is a shard db of a 100                                         cluster; default port 27018101 102 Storage options:103   --storageEngine arg                   what storage engine to use - defaults 104                                         to wiredTiger if no data files present105   --dbpath arg                          #指定数据目录路径107   --directoryperdb                      each database will be stored in a 108                                         separate directory109   --noprealloc                          disable data file preallocation - will 110                                         often hurt performance111   --nssize arg (=16)                    .ns file size (in MB) for new databases112   --quota                               limits each database to a certain 113                                         number of files (8 default)114   --quotaFiles arg                      number of files allowed per db, implies115                                         --quota116   --smallfiles                          use a smaller default file size117   --syncdelay arg (=60)                 seconds between disk syncs (0=never, 118                                         but not recommended)119   --upgrade                             upgrade db if needed120   --repair                              run repair on all dbs121   --repairpath arg                      root directory for repair files - 122                                         defaults to dbpath123   --journal                             enable journaling124   --nojournal                           disable journaling (journaling is on by125                                         default for 64 bit)126   --journalOptions arg                  journal diagnostic options127   --journalCommitInterval arg           how often to group/batch commit (ms)128 129 WiredTiger options:130   --wiredTigerCacheSizeGB arg           maximum amount of memory to allocate 131                                         for cache; defaults to 1/2 of physical 132                                         RAM133   --wiredTigerStatisticsLogDelaySecs arg (=0)134                                         seconds to wait between each write to a135                                         statistics file in the dbpath; 0 means 136                                         do not log statistics137   --wiredTigerJournalCompressor arg (=snappy)138                                         use a compressor for log records 139                                         [none|snappy|zlib]140   --wiredTigerDirectoryForIndexes       Put indexes and data in different 141                                         directories142   --wiredTigerCollectionBlockCompressor arg (=snappy)143                                         block compression algorithm for 144                                         collection data [none|snappy|zlib]145   --wiredTigerIndexPrefixCompression arg (=1)146                                         use prefix compression on row-store 147                                         leaf pages

启动服务示例:

1 mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork

查看是否启动:

1 netstat -tnlp | grep mongod2 tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      17909/mongod

以上可看出端口27017已经运行

5、测试

启动mongodb的shell:

 1 [root@test ~]# mongo 2 MongoDB shell version: 3.2.1 3 connecting to: test 4 Server has startup warnings:  5 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 6 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten]  7 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten]  8 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 9 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'10 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 11 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.12 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'13 2016-01-25T16:12:52.960+0800 I CONTROL  [initandlisten] 14 > help15     db.help()                    help on db methods16     db.mycoll.help()             help on collection methods17     sh.help()                    sharding helpers18     rs.help()                    replica set helpers19     help admin                   administrative help20     help connect                 connecting to a db help21     help keys                    key shortcuts22     help misc                    misc things to know23     help mr                      mapreduce24 25     show dbs                     show database names26     show collections             show collections in current database27     show users                   show users in current database28     show profile                 show most recent system.profile entries with time >= 1ms29     show logs                    show the accessible logger names30     show log [name]              prints out the last segment of log in memory, 'global' is default31     use 
                set current database32     db.foo.find()                list objects in collection foo33     db.foo.find( { a : 1 } )     list objects in foo where a == 134     it                           result of the last line evaluated; use to further iterate35     DBQuery.shellBatchSize = x   set default number of items to display on shell36     exit                         quit the mongo shell37 > show dbs38 local  0.000GB39 >

至此,MongoDB3.2.1安装完毕。

 

更多MongoDB相关教程见以下内容

 编译安装 MongoDB与mongoDB的php扩展 

CentOS 6 使用 yum 安装MongoDB及服务器端配置 

 13.04下安装MongoDB2.4.3 

MongoDB入门必读(概念与实战并重) 

Ubunu 14.04下MongoDB的安装指南 

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] 

Nagios监控MongoDB分片集群服务实战 

基于CentOS 6.5操作系统搭建MongoDB服务 

MongoDB 的详细介绍

MongoDB 的下载地址

本文永久更新链接地址