MongoDB复制集replicaSet

本文档详述了如何在本地环境中配置MongoDB复制集。首先,创建并启动三个配置文件来代表复制集的不同节点,然后在其中一个节点上通过客户端设置复制集,并使用特定命令检查配置结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本机测试搭建Mongo复制集

  • 首先创建三个配置文件
# mongo1.conf
logpath=/tmp/logs.log1.txt
dbpath=/data/db
port=27017
fork=true
logappend=true
replSet=wukai/127.0.0.1:27018

# mongo2.conf   
logpath=/tmp/logs/log2.txt
dbpath=/data/db2
port=27018
fork=true
logappend=true
replSet=wukai/127.0.0.1:27017

# mongo3.conf
logpath=/tmp/logs.log3.txt
dbpath=/data/db3
port=27019
fork=true
logappend=true
replSet=wukai/127.0.0.1:27017,127.0.0.1:27018
  • 分别启动这三个数据库
./mongod -f mongo1.conf
./mongod -f mongo2.conf
./mongod -f mongo3.conf
  • 进入一个数据库client,设置复制集
MongoDB Enterprise > config_rs1={_id:'wukai', members:[{_id:0,host:'127.0.0.1:27017', priority:10},{_id:1, host: '127.0.0.1:27018', priority:9}, {_id:2, host:'127.0.0.1:27019', priority:9}]}
{
    "_id" : "wukai",
    "members" : [
        {
            "_id" : 0,
            "host" : "127.0.0.1:27017",
            "priority" : 10
        },
        {
            "_id" : 1,
            "host" : "127.0.0.1:27018",
            "priority" : 9
        },
        {
            "_id" : 2,
            "host" : "127.0.0.1:27019",
            "priority" : 9
        }
    ]
}
  • 输入命令查看创建结果
MongoDB Enterprise > rs.initiate(config_rs1);
{ "ok" : 1 }
MongoDB Enterprise wukai:OTHER> rs.status()
{
    "set" : "wukai",
    "date" : ISODate("2018-01-30T16:26:24.842Z"),
    "myState" : 1,
    "term" : NumberLong(1),
    "heartbeatIntervalMillis" : NumberLong(2000),
    "optimes" : {
        "lastCommittedOpTime" : {
            "ts" : Timestamp(0, 0),
            "t" : NumberLong(-1)
        },
        "appliedOpTime" : {
            "ts" : Timestamp(1517329575, 2),
            "t" : NumberLong(1)
        },
        "durableOpTime" : {
            "ts" : Timestamp(1517329575, 2),
            "t" : NumberLong(1)
        }
    },
    "members" : [
        {
            "_id" : 0,
            "name" : "127.0.0.1:27017",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 820,
            "optime" : {
                "ts" : Timestamp(1517329575, 2),
                "t" : NumberLong(1)
            },
            "optimeDate" : ISODate("2018-01-30T16:26:15Z"),
            "infoMessage" : "could not find member to sync from",
            "electionTime" : Timestamp(1517329575, 1),
            "electionDate" : ISODate("2018-01-30T16:26:15Z"),
            "configVersion" : 1,
            "self" : true
        },
        {
            "_id" : 1,
            "name" : "127.0.0.1:27018",
            "health" : 1,
            "state" : 5,
            "stateStr" : "STARTUP2",
            "uptime" : 25,
            "optime" : {
                "ts" : Timestamp(0, 0),
                "t" : NumberLong(-1)
            },
            "optimeDurable" : {
                "ts" : Timestamp(0, 0),
                "t" : NumberLong(-1)
            },
            "optimeDate" : ISODate("1970-01-01T00:00:00Z"),
            "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
            "lastHeartbeat" : ISODate("2018-01-30T16:26:23.033Z"),
            "lastHeartbeatRecv" : ISODate("2018-01-30T16:26:23.827Z"),
            "pingMs" : NumberLong(0),
            "syncingTo" : "127.0.0.1:27017",
            "configVersion" : 1
        },
        {
            "_id" : 2,
            "name" : "127.0.0.1:27019",
            "health" : 1,
            "state" : 5,
            "stateStr" : "STARTUP2",
            "uptime" : 25,
            "optime" : {
                "ts" : Timestamp(0, 0),
                "t" : NumberLong(-1)
            },
            "optimeDurable" : {
                "ts" : Timestamp(0, 0),
                "t" : NumberLong(-1)
            },
            "optimeDate" : ISODate("1970-01-01T00:00:00Z"),
            "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
            "lastHeartbeat" : ISODate("2018-01-30T16:26:23.033Z"),
            "lastHeartbeatRecv" : ISODate("2018-01-30T16:26:23.931Z"),
            "pingMs" : NumberLong(0),
            "syncingTo" : "127.0.0.1:27017",
            "configVersion" : 1
        }
    ],
    "ok" : 1
}
MongoDB Enterprise wukai:PRIMARY> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值