MongoDB提供了Replica pairs模式启动数据库,以这种方式启动后,数据库会自动协商谁是master谁是slave。一旦一个数据库服务器断电,另外一个会自动接管,并从那一刻起为master,万一另一个将来也出错了,那么master状态会转回第一个服务器。
(10.7.3.95 -> 10.7.3.97 单Replication 没有shard)
Replication-Sets
Step 1. 两台服务器单独启动mongod 并加上replSet = XXX 的选项。
Step 2. 随便选择一台服务器,进行Replication的配置.
到此就初始化好了,然后数据会慢慢迁移到Secondary.
1. rs.slaveOk() 使SECONDARY 也能查询到数据。
2. rs.stepDown() 使Primary降为Secondary
Master-Slave:
官方介绍: http://www.mongodb.org/display/DOCS/Master+Slave
需要注意参数:
Master configfile:
---
bind_ip = 10.7.3.95
port = 10000
fork = true
master = true
logappend = true
journal = true
dbpath = ../data/
logpath = ../log/mongodb.log
directoryperdb = true
Slave configfile:
----
bind_ip = 10.7.3.97
port = 10000
fork = true
logappend = true
slave = true # 启动slave
only = testDB # 只同步testDB数据库
source = 10.7.3.95:10000 # Master host和port
autoresync = true # 当发生意外时,会自动执行同步操作
slavedelay = 10 # 设定更新频率(s)
journal = true
dbpath = ../Slave
logpath = ../log/mongodb.log.
directoryperdb = true.
Master和Slave启动后,Master会首先首先创建local数据库,然后里面有oplog.$main 和slaves 和 system.indexes 和 system.users 等collection。
AutoSharding + Replication-Sets
MongoDB包括一个自动分片模块”mongos“ 从而可以构建一个大的水平可扩展的数据库集群,可以动态的添加服务器,自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上
这里我使用3台服务器做测试。
分别为
10.X.X.21.163
10.X.X.21.164
10.X.X.228
................. (如果有服务没起来 ,根据经验可能是你Data下的文件锁问题,或者是命名不对)
准备工作:
每台机器先创建数据目录
Server 1
Server 2
Server 3
然后针对每个服务器进行Shard1 Replica Sets:
Server1:
Server2:
Server3:
初始化Replica set:
再给Shard2配置Replica Sets
Server1:
Server2:
Server3:
经过第一次初始化后运行客户端会出现:
如果要用27018的 需要指定
./mongo 10.X.X.228:27018
再次初始化Replica set:
现在有2 个 Replica sets 和2个shards
.......................
再配置三台Config Server
每台Server都这样运行一遍(哎。好多配置啊。。。。。)
再配置Mongos(同样每台机器都要运行一遍)
再Config Shard Cluster
连接到mongos,并且切换到admin
./mongo 10.X.X.228:30000/admin
>db
admin
再加入Shards
enable一个数据库
数据集分片
db.runCommand({ shardcollection: "test.users", key: { _id:1 }})
列出已经加入的Shards
查看Sharding信息
查看Shard存储信息(需要先use test)
下面对分片进行测试:
分享到:
相关推荐
数据库-Mongodb的master-slave模式与master-master模式实验.rar
结合 Etcd 与 MongoDB 实现一个基于 Master-Worker 分布式 架构的 crontab 系统.zip
2012 mongodb 最新的sharding配置 分片
赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....
MongoDB Community Server(mongodb-org-shell-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ...
MongoDB Community Server(mongodb-org-server-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...
MongoDB Community Server(mongodb-windows-x86_64-5.0.8-signed.msi)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ...
MongoDB Community Server(mongodb-org-server-5.0.8-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...
本文档是一份 MongoDB 集群的sharding模式配置实例,环境是某电信运营商的模拟环境,示例配置意义具有较高的可信度,可以作为生产环境的部署实施参考。
MongoDB window 安装包,mongodb-windows-x86_64-4.4.0-signed.msi,免除下载速度慢的烦恼!
mongodb-windows安装包: mongodb-compass-1.31.2-win32-x64.msi 打开直接安装
tar -zxvf mongodb-linux-x86_64-4.0.18.tgz 2、重名命 mv mongodb-linux-x86_64-4.0.18 mongodb 3、进入 mongodb 目录创建目录 db 和 logs cd /usr/local/mongodb mkdir db mkdir logs 4、进入到 bin 目录下,...
赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....
mongodb-linux-x86_64-ubuntu1404-3.6.4 下载真是太费劲了。贡献出来给大家使用
赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....
主从复制是数据库运维中一种常见的备份方式,这里我们来看一下MongoDB的Master-Slave主从模式配置及主从复制要点解析,需要的朋友可以参考下
mongodb-linux-x86_64-enterprise-rhel70-4.4.5.tgz
Set up master-slave and automatic failover replication in MongoDB Use sharding to scale MongoDB horizontally, and learn how it impacts applications Get example applications written in Java, PHP, ...
mongodb-windows-x86_64-6.0.5最新稳定版本,压缩包解压直接使用。
mongodb-linux-x86_64-rhel62-4.0.0.tgz