内容简介:准备三台服务器:10.175.120.131(主节点)10.175.121.134(副本节点)
MongoDB副本集搭建
准备三台服务器:
10.175.120.131(主节点)
10.175.121.134(副本节点)
10.175.121.136(副本节点)
1.分别在每台服务器上安装MongoDB,并通过配置文件启动服务,配置文件如下:
dbpath=/data/db #指定数据库路径 logpath=/data/mongodb.log #指定日志文件路径 logappend=true #在日志文件持续添加 port=27017 #端口号 bind_ip=0.0.0.0 #允许远程访问 fork=true #后台运行 replSet=admin #设置副本集名称
2.进入 MongoDB 后台管理 Shell
./momgo
3.使用admin数据库
> use admin
4. 定义副本集配置变量,这里的 _id:” admin ” 和配置文件中的“ replSet=admin ” 要保持一致
> config = { _id:"admin",
members:[
{_id:0,host:"10.175.120.131:27017"},
{_id:1,host:"10.175.121.134:27017"},
{_id:2,host:"10.175.121.136:27017"}
]
}
5.初始化副本集配置
> rs.initiate(config)
6.查看集群节点的状态
> rs.status()
输出:
{
"set" : "admin",
"date" : ISODate("2018-09-21T08:52:24.064Z"),
"myState" : 1,
"term" : NumberLong(3),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1537519943, 1),
"t" : NumberLong(3)
},
"readConcernMajorityOpTime" : {
"ts" : Timestamp(1537519943, 1),
"t" : NumberLong(3)
},
"appliedOpTime" : {
"ts" : Timestamp(1537519943, 1),
"t" : NumberLong(3)
},
"durableOpTime" : {
"ts" : Timestamp(1537519943, 1),
"t" : NumberLong(3)
}
},
"members" : [
{
"_id" : 1,
"name" : "10.175.120.131:27017",
"health" : 1, "state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 5874,
"optime" : {
"ts" : Timestamp(1537519943, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2018-09-21T08:52:23Z"),
"electionTime" : Timestamp(1537514082, 1),
"electionDate" : ISODate("2018-09-21T07:14:42Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 2,
"name" : "10.175.121.134:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 5861,
"optime" : {
"ts" : Timestamp(1537519933, 1),
"t" : NumberLong(3)
},
"optimeDurable" : {
"ts" : Timestamp(1537519933, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2018-09-21T08:52:13Z"),
"optimeDurableDate" : ISODate("2018-09-21T08:52:13Z"),
"lastHeartbeat" : ISODate("2018-09-21T08:52:23.012Z"),
"lastHeartbeatRecv" : ISODate("2018-09-21T08:52:23.584Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "10.175.120.131:27017",
"configVersion" : 1
},
{
"_id" : 3,
"name" : "10.175.121.136:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 5866,
"optime" : {
"ts" : Timestamp(1537519933, 1),
"t" : NumberLong(3)
},
"optimeDurable" : {
"ts" : Timestamp(1537519933, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2018-09-21T08:52:13Z"),
"optimeDurableDate" : ISODate("2018-09-21T08:52:13Z"),
"lastHeartbeat" : ISODate("2018-09-21T08:52:23.013Z"),
"lastHeartbeatRecv" : ISODate("2018-09-21T08:52:23.558Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "10.175.120.131:27017",
"configVersion" : 1
}
],
"ok" : 1,
"operationTime" : Timestamp(1537519943, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1537519943, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
输出部分参数说明:
"health" : 1, #代表机器正常 "stateStr" : "PRIMARY", #代表是主节点,可读写,其中有以下几下状态 1. STARTUP:刚加入到复制集中,配置还未加载 2. STARTUP2:配置已加载完,初始化状态 3. RECOVERING:正在恢复,不适用读 4. ARBITER: 仲裁者 5. DOWN:节点不可到达 6. UNKNOWN:未获取其他节点状态而不知是什么状态,一般发生在只有两个成员的架构,脑裂 7. REMOVED:移除复制集 8. ROLLBACK:数据回滚,在回滚结束时,转移到RECOVERING或SECONDARY状态 9. FATAL:出错。查看日志grep “replSet FATAL”找出错原因,重新做同步 10. PRIMARY:主节点 11. SECONDARY:备份节点
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Spark集群环境搭建
- Zookeeper搭建集群
- FastDFS集群搭建
- Zookeeper集群环境搭建
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。