下载MongoDB的二进制包
"官方下载页面":http://www.mongodb.org/downloads
部署到需要安装的机器节点
为了方便管理,建议所有安装的机器统一用户名,并设置ssh互信
单节点启动
创建日志文件目录
创建数据文件目录
启动
/mongodb安装目录/bin/mongod --dbpath 数据文件目录 --logpath 日志文件目录/mongod.log --fork
shards cluster 启动
启动shardN
启动mongod节点(个数随意):
/mongodb安装目录/bin/mongod --shardsvr --replSet shardN --dbpath 数据文件目录 --oplogSize 1024 --logpath 日志文件目录/mongod.log --fork
配置Replica Set:在任意的节点执行:
/mongodb安装目录/bin/mongo locahost:27018
进入mongodb的控制台后,将所有的mongod节点加入到配置中,例如:
cfg={_id:"shardN",members:[{_id:0,host:"mongod节点1:27018"},{_id:1,host:"mongod节点2:27018"}]}
rs.initiate(cfg)
exit
启动shardN完成
启动configN
启动mongod节点(个数必须为1或3):
/mongodb安装目录/bin/mongod --shardsvr --replSet shardN --dbpath 数据文件目录 --logpath 日志文件目录/config.log --fork
启动mongosN
启动mongos节点(建议在应用程序所在机器启动,数量随意)
/mongodb安装目录/bin/mongos --logpath 日志文件目录/mongos.log --fork
配置cluster:在任意的mongos节点执行:
/mongodb安装目录/bin/mongo localhost:27017
进入mongodb的控制台后,通过执行addshard命令将所有的shard加入到集群,例如:
db.adminCommand({addshard:"shard1/dxud3c003:27018,dxud3c004:27018,dxud3c005:27018",name:"s1"})
db.adminCommand({addshard:"shard2/dxud3c006:27018,dxud3c007:27018,dxud3c008:27018",name:"s2"})
db.adminCommand({addshard:"shard3/dxud3c009:27018,dxud3c010:27018,dxud3c011:27018",name:"s3"})
exit
设置db通过分片存储
在任意的mongos节点执行:
/mongodb安装目录/bin/mongo localhost:27017
进入mongodb的控制台后,通过执行enablesharding命令开启指定db的分片存储功能,例如:
db.adminCommand({enablesharding:"test"})
exit
设置collection分片存储
在任意的mongos节点执行:
/mongodb安装目录/bin/mongo localhost:27017
进入mongodb的控制台后,通过执行shardcollection命令开启指定collection的分片存储功能,其中需要指定用于分片判断的字段,例如:
db.adminCommand({shardcollection:"test",key:{_id:1}})
exit
mongod命令参数
通用参数:
-h [ --help ] 显示帮助信息
--version 显示版本信息
--port arg 指定端口号
--bind_ip arg 监听的ip地址,多个ip地址(多网卡)用逗号分割,默认监听所有的网卡
--maxConns arg 指定最大并发连接数
--logpath arg 指定日志文件的路径(需要指定一个具体文件)默认输出到标准输出
--logappend 对已存在的日志文件,追加方式写入新的日志
--pidfilepath arg 指定保存pidfile的路径
--fork 后台方式启动
--dbpath arg 指定数据文件路径
--directoryperdb 每个database分目录保存文件
--noprealloc 禁止预分配磁盘空间
--nssize arg (=16) 指定每个数据库的名字空间的大小,默认16MB
--rest 开启rest访问接口
--repair 对所有的db进行repair操作
--syncdelay arg 将数据同步到磁盘的周期,默认60秒
备份同步参数:
--fastsync 指定在启动时从一个备份的镜像中快速同步数据
--oplogSize arg 保留的操作日志的大小(此值设置过小会导致RS102错误)
备份集合参数:
--replSet arg 指定备份集合的名称
Shard集群参数:
--configsvr 声明作为一个config server启动,默认端口27019,默认数据文件路径/data/configdb
--shardsvr 声明作为一个shard server启动,默认端口27018,默认数据文件路径/data/db
mongos命令参数
通用参数:
-h [ --help ] 显示帮助信息
--version 显示版本信息
--port arg 指定端口号
--bind_ip arg 监听的ip地址,多个ip地址(多网卡)用逗号分割,默认监听所有的网卡
--maxConns arg 指定最大并发连接数
--logpath arg 指定日志文件的路径(需要指定一个具体文件)默认输出到标准输出
--logappend 对已存在的日志文件,追加方式写入新的日志
--pidfilepath arg 指定保存pidfile的路径
--fork 后台方式启动
Shard集群参数:
--configdb arg 指定config server的地址,逗号分隔,例如:192.168.0.1:27019,192.168.0.2:27019,192.168.0.3:27019
--chunkSize arg 指定每一个chunk中数据的大小