CentOS6.5上源码安装MongoDB3.2.1

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.tgz
2 cd mongodb-linux-x86_64-3.2.1
3 cp -r * /home/mongodb

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

1 vim /etc/profile.d/mongo.sh
2 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 <server:port> 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 <setname>[/<optionalseedhostlist 85 >] 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 27018 101 102 Storage options: 103 --storageEngine arg what storage engine to use - defaults 104 to wiredTiger if no data files present 105 --dbpath arg #指定数据目录路径
107 --directoryperdb each database will be stored in a 108 separate directory 109 --noprealloc disable data file preallocation - will 110 often hurt performance 111 --nssize arg (=16) .ns file size (in MB) for new databases 112 --quota limits each database to a certain 113 number of files (8 default) 114 --quotaFiles arg number of files allowed per db, implies 115 --quota 116 --smallfiles use a smaller default file size 117 --syncdelay arg (=60) seconds between disk syncs (0=never, 118 but not recommended) 119 --upgrade upgrade db if needed 120 --repair run repair on all dbs 121 --repairpath arg root directory for repair files - 122 defaults to dbpath 123 --journal enable journaling 124 --nojournal disable journaling (journaling is on by 125 default for 64 bit) 126 --journalOptions arg journal diagnostic options 127 --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 RAM 133 --wiredTigerStatisticsLogDelaySecs arg (=0) 134 seconds to wait between each write to a 135 statistics file in the dbpath; 0 means 136 do not log statistics 137 --wiredTigerJournalCompressor arg (=snappy) 138 use a compressor for log records 139 [none|snappy|zlib] 140 --wiredTigerDirectoryForIndexes Put indexes and data in different 141 directories 142 --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 mongod
2 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 > help
15     db.help()                    help on db methods
16     db.mycoll.help()             help on collection methods
17     sh.help()                    sharding helpers
18     rs.help()                    replica set helpers
19     help admin                   administrative help
20     help connect                 connecting to a db help
21     help keys                    key shortcuts
22     help misc                    misc things to know
23     help mr                      mapreduce
24 
25     show dbs                     show database names
26     show collections             show collections in current database
27     show users                   show users in current database
28     show profile                 show most recent system.profile entries with time >= 1ms
29     show logs                    show the accessible logger names
30     show log [name]              prints out the last segment of log in memory, 'global' is default
31     use <db_name>                set current database
32     db.foo.find()                list objects in collection foo
33     db.foo.find( { a : 1 } )     list objects in foo where a == 1
34     it                           result of the last line evaluated; use to further iterate
35     DBQuery.shellBatchSize = x   set default number of items to display on shell
36     exit                         quit the mongo shell
37 > show dbs
38 local  0.000GB
39 > 

至此,MongoDB3.2.1安装完毕。

posted @ 2016-01-25 16:25  darren_lee  阅读(653)  评论(0编辑  收藏  举报