[root@localhost /]#:
参考文章:http://blog.csdn.net/yumushui/article/details/45027501
http://www.runoob.com/mongodb/mongodb-replication.html
配置MongoDB分片前。最好不要先安装oneinstack,我也不知道为啥。每次先安装oneinstack,下载和安装mongodb总是出错...
在搭建mongodb副本集之前,需要有以下准备工作:
1:linux + apache + php(方便测试和查看,建议搭建)
2:mongodb单机部署(至少布置两台,其中一台为主节点,其余为从节点) ---mongodb3.4.2
3:对于mongdb副本集搭建之前,得有一个规划:
副本集名称(replSet):rs1
mongodb安装路径:/user/loca/mongodb
日志文件:/user/local/mongodb/log/mongodb.(必须有,否则无法fork,操作起来较为麻烦)
测试环境:
虚拟机上,局域网,ip分别为:192.168.2.33(主) 192.168.2.32(从)
系统环境:centos7.0+apache2.2+php5.6+mysql5.6(多余,但不影响)
mongodb部署(2台,一主,一从;)
搭建步骤:
1:启动mongodb服务器(2台都启动):
[root@localhost /]#: /user/local/mongodb/bin/mongod --port 27017 --fork --logpath=/usr/local/mongodb/log/mongodb.log --replSet rs1
2.进入主节点服务器 :
[root@localhost /]#: /user/local/mongodb/bin/mongo --port27017
3:
>config={_id:'rs1',members:[{_id:0,host:'192.168.2.33:27017',priority:1}]}
4.
>rs.initiate(config)
配置成功后
{ "ok" : 1 }
5.(添加副本集)
rs.PRIMARY>rs.add('192.168.2.32:27017')
配置成功后
{ "ok" : 1 }
6.(查看状态:)
rs.PRIMARY>rs.status()
{
"set" : "rs1",
"date" : ISODate("2017-02-09T01:44:35.670Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "192.168.2.33:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 911,
"optime" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-02-09T01:44:23Z"),
"electionTime" : Timestamp(1486604525, 2),
"electionDate" : ISODate("2017-02-09T01:42:05Z"),
"configVersion" : 2,
"self" : true
},
{
"_id" : 1,
"name" : "192.168.2.32:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 12,
"optime" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1486604663, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-02-09T01:44:23Z"),
"optimeDurableDate" : ISODate("2017-02-09T01:44:23Z"),
"lastHeartbeat" : ISODate("2017-02-09T01:44:35.480Z"),
"lastHeartbeatRecv" : ISODate("2017-02-09T01:44:33.648Z"),
"pingMs" : NumberLong(1),
"configVersion" : 2
}
],
"ok" : 1
}
由此,配置完成,但这只是初步的,若要保证安全还要在启动之前配置key File,这里不细说,请参考:
http://blog.csdn.net/yumushui/article/details/45027501