我们这里搭建3个节点的复制集,示例如下:
由于我用的是32位系统,所以驱动引擎需要更换所以使用–storageEngine=mmapv1,fork为后台执行
配置文件如下:
![这里写图片描述]
依次创建3个。(https://img-blog.youkuaiyun.com/20170612234941678?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ2FzZGZnaA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
你也可以不使用配置文件,使用命令行参数启动3个:
mongod --replSet my_first --dbpath /data_test/data1/ --port 9927 --logpath /log_test/log --fork --storageEngine=mmapv1
初始化副本集需要配置表,申明配置表如下:
config = {_id: "my_first", members: []}
逐步添加节点的数据信息:
config.members.push({_id: 0, host: "localhost:9927"})
config.members.push({_id: 1, host: "localhost:9928"})
config.members.push({_id: 2, host: "localhost:9929"})
然后初始化:
rs.initiate(config)
返回ok为1表示初始化成功.
查看复制集状态:
到这里复制集就已经创建完成。
要提到的一点的是,如果你在命令行残数或配置文件里添加了bind_ip选项,那么相应的你需要添加开启auth选项,否则无法使用db.shutDownserver().
对于复制集的选举,节点属性,安全,我会在其他博客里说。
参考文章:http://www.cnblogs.com/visionwang/p/3290435.html