背景:操作系统是centos6.6, mongodb版本是3.2.1,有三台虚拟机,假如ip分别为host1,host2,host3
(1) 安装mongodb, 参见下面的链接
http://blog.csdn.net/monkey_four/article/details/50618457
(2) 安装完后,修改配置文件/etc/mongod.conf
- replication:
- oplogSizeMB: 1000
- replSetName: rs_name //同一个replica set的名字一定要设置相同
- mongod -f /etc/mongod.conf
(4)前三步都执行完成后,在你希望成为primary结点的机器上运行:
- mongo
- rs.initiate()
- rs.conf()
- rs.add("host2")
- rs.add("host3")
配置过程中遇到的问题总结与解决方法:
a.问题: 在每台机器上都运行了rs.initiate()函数.
解决办法:关掉每台服务器的mongodb服务,删除每台机器上mongodb的dbpath对应目录中的所有相关文件,再重启mongod服务.
b.问题:完成所有步骤后,只有primary会显示出来,其余两个secondary没显示,即没起作用.
解决办法:查看mongodb日志会显示network相关错误,说明机器之间不能直接通信,可能需要将ip和hostname添加到/etc/hosts中