MongoDB 创建副本集测试

本文详细介绍如何在Linux环境下安装MongoDB并搭建包含三个成员的副本集。包括环境配置、副本集创建及初始化过程,以及如何确认主节点并进行基本读写操作。

1. 安装虚拟机 安装linux系统

2. 安装MongoDB

    (1) 下载地址 : https://www.mongodb.com/download-center#community

    (2) 在 /usr/local 中解压 : tar -xzvf mongodb-*****.tgz

             重命名解压包 : mv mongodb-**** mongodb

    (3) 创建目录 : mkdir -p /data/db

    (4) 设置环境变量 : vi /etc/profile : 最后一行 : export PATH=/usr/local/mongodb/bin:$PATH

3. 启动 : mongo --nodb

4. 创建副本集 : replicaSet = new ReplSetTest({"nodes":3}) // 创建3个副本集成员 可以看到新创建的三个端口 

     如 20000 20001 20002

5. 启动副本集 : replicaSet.startSet()

6. 初始化副本集 : replicaSet.initiate() // 

7. 启动后切换另一个命令窗口,开启MongoDB : mongo --nodb

8. 连接一个端口创建mongo实例 : conn1 = new Mongo("localhost:20000")

9. 进入数据库 : primaryDB = conn1.getDB("test")

10. 看是否主节点 : primaryDB.isMaster()

11. 如果显示 : {"primary" : true} // 说明是主节点 如果没有文档中也会显示哪个接口为主节点 以同样的方式连接就行

12. 如果是主节点可以用js进行写操作 : primaryDB.coll.insert({"name" : "hbw"})

13. 可以读取写好的信息 : primaryDB.coll.find()

14. 重新连接一个从节点 : 

      conn2 = new Mongo("localhost:20001")

       secondaryDB = conn2.getDB("test")

       读取信息 : secondaryDB.coll.find()

       如无法读取可以先设置 : conn2.setSlaveOk()

       然后就可以读取到主节点再coll文档中插入的信息了

      但是如果在从节点执行插入操作,会报错,可以查询报错信息 : secondaryDB.runCommand({"getLastError":1})

      说明只有主节点拥有写权限,而从节点只有查权限

15. 但是如果将主节点关闭或是某种原因导致主节点不可用,就会根据大多数(超过一半)的原则选取新的主节点,可以参照上面的      步骤查询新的主节点,关闭主节点的命令为 : primaryDB.adminCommand({"shutdown" : 1})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这是谁的博客?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值