单机安装:
1:去官方下载最新的包,http://www.mongodb.org/downloads
2:然后tar zvxf 解压
3:拷贝到相应的文件夹即可
4:./mongod --dbpath ../data --logpath ../log1/mongo.log --port 20001 --fork
副本集安装:
./mongod --dbpath ../data --logpath ../log1 --port 20001 --fork --replSet myrepl
./mongod --dbpath ../data2 --logpath ../log2 --port 20002 --fork --replSet myrepl
./mongod --dbpath ../data3 --logpath ../log3 --port 20003 --fork --replSet myrepl
启动后连接到其中一个节点执行:
rs.initiate({_id:"myrepl",members:[{_id:0,host:'127.0.0.1:20001'},{_id:1,host:'127.0.0.1:20002'},{_id:2,host:'127.0.0.1:20003'}]})
rs.initiate建议使用本真实ip不要使用127.0..0.1
安装完成后可以使用:
rs.status() 查看状态 或者 rs.config(); 或者 db.printReplicationInfo();
集群安装:
1.先创建配置服务器,--configsvr默认的端口为27019,默认的数据目录为/data/configdb,可以使用--dbpath
./mongod --configsvr --dbpath ../confdb/confdb1 --logpath ../conflog/conflog1 --fork --port 30001
./mongod --configsvr --dbpath ../confdb/confdb2 --logpath ../conflog/conflog2 --fork --port 30002
./mongod --configsvr --dbpath ../confdb/confdb3 --logpath ../conflog/conflog3 --fork --port 30003
2.启动mongos进程
./mongos --configdb 127.0.0.1:30001,127.0.0.1:30002,127.0.0.1:30003 --logpath ../conflog/mongoslog --fork
3:可以启动任意多个mongos,通常是一个应用服务器使用一个mongos,也就是说mongos通常与应用服务器运行在一个机器上
4:mongos的默认端口是27017,可以用chunkSize来指定块的大小,默认是200M
5.将副本集转换成为分片
如果没有副本集,按照前面讲的创建并初始化一个;如果有一个副本集,就打开相应的服务器,把副本集运行起来
然后连接到mongos,把副本集转换成为分片,示例如下: sh.addShard("myrepl/127.0.0.1:20001,127.0.0.1:20002");
不用把所有副本集的成员都写出来,mongos会自动检查整个副本集。副本集的名称myrepl就用作了分片的名称。
sh.addShard("myrep2/127.0.0.1:20004");
使用sh.status();察看状态,会发现整个副本集里面的服务都加入进来了。
6:注意:添加分片过后,客户端应该连接mongos进行操作,而不是连接副本集了。
数据分片
7.需要明确指定分片的数据库和集合,MongoDB才会对数据进行自动分片。1:对数据库启用分片
sh.enableSharding(“数据库名”); 2:然后指定分片的集合,还有分片的键,如果对已经存在的集合进行分片,那么指定的这个
分片键上必须有索引;如果集合不存在,mongos会自动在分片键上创建索引。例如: sh.shardCollection("rep1.users",{"userId":1});