Mongo副本集搭建

Posted ahaii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongo副本集搭建相关的知识,希望对你有一定的参考价值。

 

解压mongodb-linux-x86_64-rhel70-3.2.0.tgz

将解压后的bin路径添加到系统环境变量,保证mongo、mongod等命令可用

创建副本集目录mongo/27017、27018、27019

27017、27018、27019下在创建mogo.conf:

logpath=/data/local/mongo/27017/log/mongo.log
 
dbpath=/data/local/mongo/27017/data
 
bind_ip=127.0.0.1
 
logappend=true
 
fork=true
 
port=27017

创建配置文件中logpath和dbpath目录。

启动服务

mongod --config 27017/mongo.conf --replSet set1 
mongod --config 27018/mongo.conf --replSet set1 
mongod --config 27019/mongo.conf --replSet set1 

配置副本集:

连接27017

mongo --port 27017

定义变量:

>conf = {_id:"set1",members:[{_id:0,host:"127.0.0.1:27017"}]}
rs.initiate(conf)

显示:

<"ok":1>

将本实例设置成master:

>db.isMaster() 

将27018、27019添加到副本集:

>rs.add("127.0.0.1:27018")
>rs.add("127.0.0.1:27019")

登录任一台查看副本集状态:

set1:PRIMARY> rs.status()
{
    "set" : "set1",
    "date" : ISODate("2017-04-22T06:20:43.260Z"),
    "myState" : 1,
    "term" : NumberLong(1),
    "heartbeatIntervalMillis" : NumberLong(2000),
    "members" : [
        {
            "_id" : 0,
            "name" : "127.0.0.1:27017",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 321,
            "optime" : {
                "ts" : Timestamp(1492842009, 1),
                "t" : NumberLong(1)
            },
            "optimeDate" : ISODate("2017-04-22T06:20:09Z"),
            "electionTime" : Timestamp(1492841919, 2),
            "electionDate" : ISODate("2017-04-22T06:18:39Z"),
            "configVersion" : 3,
            "self" : true
        },
        {
            "_id" : 1,
            "name" : "127.0.0.1:27018",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 37,
            "optime" : {
                "ts" : Timestamp(1492842009, 1),
                "t" : NumberLong(1)
            },
            "optimeDate" : ISODate("2017-04-22T06:20:09Z"),
            "lastHeartbeat" : ISODate("2017-04-22T06:20:43.216Z"),
            "lastHeartbeatRecv" : ISODate("2017-04-22T06:20:42.216Z"),
            "pingMs" : NumberLong(0),
            "syncingTo" : "127.0.0.1:27017",
            "configVersion" : 3
        },
        {
            "_id" : 2,
            "name" : "127.0.0.1:27019",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 34,
            "optime" : {
                "ts" : Timestamp(1492842009, 1),
                "t" : NumberLong(1)
            },
            "optimeDate" : ISODate("2017-04-22T06:20:09Z"),
            "lastHeartbeat" : ISODate("2017-04-22T06:20:43.221Z"),
            "lastHeartbeatRecv" : ISODate("2017-04-22T06:20:41.228Z"),
            "pingMs" : NumberLong(0),
            "configVersion" : 3
        }
    ],
    "ok" : 1
}

 

以上是关于Mongo副本集搭建的主要内容,如果未能解决你的问题,请参考以下文章

Docker mongo副本集环境搭建

Mongo分片+副本集集群搭建

简单mongo的副本集搭建

本地搭建一个MongoDB副本集

mongo 单机开启副本集事务

我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建详细过程