您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/4/13 14:39:37发布16次查看
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
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product