美奇科技 发表于 2015-11-11 07:06:42

Mongo DB 建立主从服务器 2 操作系统linux 但是windows在测试

  建立主/从服务器

  主服务器:132.129.31.213:10111(A)
  从服务器:132.129.31.213:10112(B)
  1启动Master数据库服务器:
  $./mongod –master -port=10111 -dbpath=/home/tsaip/mongodb/data/10111 -nohttpinterface &   注: 默认端口27017
2启动Slave数据库服务器:5s同步一次
  $./mongod –slave –source=132.129.31.213:10111 -port=10112 -dbpath=/home/tsaip/mongodb/data/10112 –slavedelay 5 -nohttpinterface &

  3测试同步结果:
  //登录master数据库服务器
  $ ./mongo -host 132.129.31.213 -port 10111
      MongoDB shell version: 1.8.2-rc2
      connecting to: 132.129.31.213:10111/test
  > use test;
      switched to db test
  > db.user.insert({_id:1,name:'samlee',age:80});
  > db.user.find();
      { "_id" : 1, "name" : "samlee", "age" : 80 } >
  //登录slave数据库服务器
  $ ./mongo -host 132.129.31.213 -port 10112
      MongoDB shell version: 1.8.2-rc2
      connecting to: 132.129.31.213:10112/test
  > use test;
  switched to db test
  > db.user.find(); { "_id" : 1, "name" : "samlee", "age" : 80 }
>
数据同步成功!!
  
  Master
               --master master模式
               --oplogSize arg size limit (in MB) for op log Slave
               --slave slave模式
              --source arg source指定master位置
              --only arg 单独指定备份某一database
                 --slavedelay arg 指定与Master延迟时间(秒)
                 --autoresync 当Slave数据过时后自动重连
  
  4. 切换Master/Slave角色
a) 假设已经具备主机A和从机B,此时想切换它们的角色,步骤如下:(假设A是健康的)
b) 用fsync命令暂停A上的写操作,
c) 确定B是从机,关闭B上的服务
d) 清空B上的local.*文件
e) 用-master选项重启B服务
f) 在B上执行一次写操作,初始化oplog,获得一个同步起始点
g) 关闭B服务,此时B已经有了信的local.*文件
h) 关闭A服务,并且用B上新的local.*文件来代替A上的local.*文件(拷贝之前,记得先压缩,因为文件可能很大)
i) 用-master选项重启B服务
j) 在平时的slave选项上加一个-fastsync选项来重启A服务
如果A不是健康的,但是硬件是健康的,那么跳过上面的前两步,并且用B上所有文件去替换A上的文件,重启服务。
  
  
页: [1]
查看完整版本: Mongo DB 建立主从服务器 2 操作系统linux 但是windows在测试