Heim >Datenbank >MySQL-Tutorial >MongoDB高级----复制与分片

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:03:53750Durchsuche

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

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

  • ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard12  
  • ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard22  
  • Server 3

  • ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard13  
  • ^_^[root@:/usr/local/mongodb]#mkdir -p data/shard23  
  • 然后针对每个服务器进行Shard1 Replica Sets:

    Server1:

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

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

  • ./mongod --shardsvr --replSet shard1 --port 27017 --dbpath ../data/shard13 --oplogSize 100 --logpath ../data/shard13.log --logappend --fork.  
  • 初始化Replica set:

  • rs.initiate(config);  
  • 再给Shard2配置Replica Sets 

    Server1:

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

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

  • ./mongod --shardsvr --replSet shard2 --port 27018 --dbpath ../data/shard23 --oplogSize 100 --logpath ../data/shard23.log --logappend --fork.  
  • 经过第一次初始化后运行客户端会出现:


    如果要用27018的 需要指定


    ./mongo 10.X.X.228:27018

    linux

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn