MongoDB 创建集群的步骤备忘

创建三个数据库目录

$ cd /data
$ mkdir db27017 db27018 db27019

启动三个实例

$ mongod --replSet replset --dbpath /data/db27017 --port 27017 --oplogSize 200 --smallfiles
$ mongod --replSet replset --dbpath /data/db27018 --port 27018 --oplogSize 200 --smallfiles
$ mongod --replSet replset --dbpath /data/db27019 --port 27019 --oplogSize 200 --smallfiles

开启命令行

$ mongo

初始化

$ rs.initiate()

查看 name

$ rs.status()

添加一个从节点, 这里的 'lai-2.local' 是 rs.status() 查出来的 name 属性

$ rs.add('lai-2.local:27018')

添加一个 arbiter

$ rs.addArb('lai-2.local:27019')

再查看状态, 可以看到 members 变成了三个

$ rs.status()

自动恢复

$ mongo  —nodb

执行下面的代码, 模拟插入操作

var conn = new Mongo("replset/localhost:27017,localhost:27018,localhost:27019");
var db =conn.getDB("test");
var count=0; while(count++<1000) {
    try{
        sleep(1000);  
        db.col.insert({n: count});  
        print("插入成功 #" + count);  
    }
    catch(exception){
        print("插入失败 #"+count+",  正在重试...");
        count--;
    }
}

执行上述脚本后, 关掉 27017 的 shell 看看发生了什么?

数据库连接 27017 失败, 会尝试连接 27018.

这时候 27018 变成主节点了.

重启 27017 的话, 27017 变成非主节点了.

这时候再次关掉 27018 的shell, 27017 则会变成主节点.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值