mongodb复制技术操作手册(一)

2020-01-18  本文已影响0人  JohnYuCN

实验一:完成以下配置:

经典的一主二副

1. 指定数据区:

~ $ mkdir modata
~ $ cd modata/
~/modata $ mkdir primary
~/modata $ mkdir secondary1
~/modata $ mkdir secondary2

2. 启动primary

(1) 数据集方式启动,并指定数据集名称为:myrs

mongod --port 27017 --dbpath primary --replSet myrs

(2) 客户端连接,并初始化数据集:

mongo --port 27017

rs.initiate()

此时完成复制集的初始化工作,默认第一个进程为myrs:SECONDARY>
按回车,会重新检测,从而变为myrs:PRIMARY>

3. 在客户端中, 添加secondary(必须在secondary 的进程启动之前添加)

myrs:PRIMARY> rs.add({host:"localhost:27018",votes:0,priority:0});
myrs:PRIMARY> rs.add({host:"localhost:27019",votes:0,priority:0});

补充:使用rs.initiate(),更高效的一种方法(可以省略【步骤2】的rs.initiate()):

rs.initiate( {
   _id : "rs0",
   members: [
      { _id: 0, host: "localhost:27017" },
      { _id: 1, host: "localhost:27018"},
      { _id: 2, host: "localhost:27019" }
   ]
})

4. 启动另外两个secondary

mongod --port 27018 --dbpath secondary1 --replSet myrs
mongod --port 27019 --dbpath secondary2 --replSet myrs

5. 查看:

可以在复制集中任意一个客户端中:

rs.status();

6. 测试:

在primary进程中,使用客户端完成:

myrs:PRIMARY> use demo01
myrs:PRIMARY> db.customers.insert({name:'johnyu'},{writeConcern:{w:3,wtimeout:5000}})

如果显示为以下内容,则代表成功!!!

WriteResult({ "nInserted" : 1 })
上一篇下一篇

猜你喜欢

热点阅读