mongoDB学习笔记八

来源:互联网 发布:改造血腥之刃数据 编辑:程序博客网 时间:2024/06/07 09:37

第九章 复制

 

一主从复制 ,从节点从主节点复制内容

一个主节+一个或多个从节点

主节点启动添加 --master

从节点启动 --slave --source 主节点地址

 

在一台机器上作主从测试(从节点要使用不同的数据目录和端口号)

1 建立数据目录

H:\MongoDB\data>mkdir master

H:\MongoDB\data>mkdir slave

 

2 启动并绑定端口号

C:\Users\Administrator>mongod --dbpathh:\MongoDB\data\master --port 10000 --master --httpinterface --rest

C:\Users\Administrator>mongod --dbpathh:\MongoDB\data\slave --port 10001 --slave --source localhost:10000--httpinterface --rest

 

选项

--only 指定复制某个特定数据库

--slavedelay  主节点的操作延时,目的可以防止用户不不良操作.用户在操作都会被复制到从节点,通过延时,可以有个恢复的时间差

 

--fastsync 以主节点的数据快照为基础启动从节点

 

--autoresync 自动同步

 

--oplogSize 主节点oplog的大小

 

添加及删除源

1 可以使用--source指定主节点

2 在shell中配置源,

启动从节点,不添加源

mongod --dbpathh:\MongoDB\data\slave --port 10001 --slave --httpinterface --rest

>use local

>db.sources.insert({“host”:”localhost:27017”})

 

修改和删除源

Db.source.insert()

Db.source.remove()

 

二副本集

副本集与主从集群的区别:

副本集没有固定的主节点,会自动选举出主节点

 

初始化副本集

1 创建数据目录

H:\MongoDB\data>mkdir node1 node2

2 启动并副本命名

C:\Users\Administrator>mongod  --dbpath h:\MongoDB\data\node1 --port 10001--replSet blort/localhost:10002

 

C:\Users\Administrator>mongod --dbpathh:\MongoDB\data\node2 --port 10002 --replSet blort/localhost:10001

 

3 如果想添加第三台,可以使用以下两种方式

C:\Users\Administrator>mongod  --dbpath h:\MongoDB\data\node3 --port 10003--replSet blort/localhost:10001

 

C:\Users\Administrator>mongod  --dbpath h:\MongoDB\data\node3 --port 10003--replSet blort/localhost:10001,localhost:10002

 

4 初始化副本集

 在shell中边接一台服务器,执行如下命令

Mongo localhost:10001\admin
> db.runCommand({"replSetInitiate":{

"_id":"blort",

 "members":[

    {

        "_id":1,

        "host":"localhost:10001"

   },

    {

       "_id":2,

        "host":"localhost:10002"

    }

]}})

0 0