MongoDB高级—->复制与分片

  • A+
所属分类:Linux-数据库
摘要

MongoDB提供了Replica pairs模式启动数据库,以这种方式启动后,数据库会自动协商谁是master谁是slave。一旦一个数据库服务器断电

MongoDB提供了Replica pairs模式启动数据库,以这种方式启动后,数据库会自动协商谁是master谁是slave。一旦一个数据库服务器断电,另外一个会自动接管,并从那一刻起为master,万一另一个将来也出错了,那么master状态会转回第一个服务器。

MongoDB包括一个自动分片模块”mongos“ 从而可以构建一个大的水平可扩展的数据库集群,可以动态的添加服务器,自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上

这里我使用3台服务器做测试。

分别为

10.X.X.21.163 

10.X.X.21.164

10.X.X.228

................. (如果有服务没起来 ,根据经验可能是你Data下的文件锁问题,或者是命名不对)

准备工作:

每台机器先创建数据目录 

Server 1

  1. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard11  
  2. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard21  

Server 2

  1. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard12  
  2. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard22  

Server 3

  1. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard13  
  2. ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard23  

然后针对每个服务器进行Shard1 Replica Sets:

Server1:

  1. ./mongod --shardsvr --replSet shard1 --port 27017 --dbpath ../data/shard11 --oplogSize 100 --logpath ../data/shard11.log --logappend --fork.  

Server2:

  1. ./mongod --shardsvr --replSet shard1 --port 27017 --dbpath ../data/shard12 --oplogSize 100 --logpath ../data/shard12.log --logappend --fork.  

Server3:

  1. ./mongod --shardsvr --replSet shard1 --port 27017 --dbpath ../data/shard13 --oplogSize 100 --logpath ../data/shard13.log --logappend --fork.  

初始化Replica set:

  1. > config={_id:'shard1',members:[  
  2. ... {_id:0,host:'10.X.X.228:27017'},  
  3. ... {_id:1,host:'10.X.X.163:27017'},  
  4. ... {_id:2,host:'10.X.X.164:27017'}]  
  5. ... }  
  1. rs.initiate(config);  

再给Shard2配置Replica Sets 

Server1:

  1. ./mongod --shardsvr --replSet shard2 --port 27018 --dbpath ../data/shard21 --oplogSize 100 --logpath ../data/shard21.log --logappend --fork.  

Server2:

  1. ./mongod --shardsvr --replSet shard2 --port 27018 --dbpath ../data/shard22 --oplogSize 100 --logpath ../data/shard22.log --logappend --fork.  

Server3:

  1. ./mongod --shardsvr --replSet shard2 --port 27018 --dbpath ../data/shard23 --oplogSize 100 --logpath ../data/shard23.log --logappend --fork.  

经过第一次初始化后运行客户端会出现:

MongoDB高级---->复制与分片

如果要用27018的 需要指定

除非注明,否则均为@蒲公英博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.aipgy.com/51624.html

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: