MongoDB主从

数据存储是整个系统中非常重要的一部分,在MySQL、Redis中都有主从架构,能够在一定程度上保证数据的安全性和高可用性,而MongoDB中也是有这种实现方式。主从配置非常简单,但是随着技术的发展已经很少采用主从架构,而更多的是采用副本集或者集群的模式去实现高可用。

简单的介绍一下MongoDB主从实现的方式和

环境:

操作系统:CentOS 6.7

MongoDB:  3.4.5

主数据目录:/data/mongomaster

从数据目录: /data/mongoslave

MongoDB 管理命令环境变量:

export PATH="$PATH:/home/mongodb/mongodb/mongodb-3.4.5/bin"

启动主

mongod   --dbpath=/data/mongomaster/  --port 10000  --master  --logpath=/data/mongomaster/masterlog   --logappend     --fork

bout to fork child process, waiting until server is ready for connections.
forked process: 3114
child process started successfully, parent exiting
[[email protected] data]#

启动从

mongod   --dbpath=/data/mongoslave/   --logpath=/data/mongoslave/slave.log  --logappend    --port  10002 --slave --source 192.168.1.130:10000   --fork
about to fork child process, waiting until server is ready for connections.
forked process: 3144
child process started successfully, parent exiting

测试 在主库上面创建mongo库 winne集合插入文档数据

> use  mongo
switched to db mongo
> show  dbs
admin   0.000GB
local   0.003GB
master  0.002GB
> db
mongo
> for(i=0;i<10000;i++)db.mongo.insert({"name" : "linux" }, {"object" : "docker"}, {"age" :i})
WriteResult({ "nInserted" : 1 })
>

从库测试

> show  dbs
2017-05-20T14:14:42.526+0800 E QUERY    [thread1] Error: listDatabases failed:{
	"ok" : 0,
	"errmsg" : "not master and slaveOk=false",
	"code" : 13435,
	"codeName" : "NotMasterNoSlaveOk"
} :
[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/mongo.js:62:1
[email protected]/mongo/shell/utils.js:769:19
[email protected]/mongo/shell/utils.js:659:15
@(shellhelp2):1:1,

报错了什么情况呢?找找资料什么的,关键信息not master and slaveOk=false 和NotMasterNoSlaveOk 随便一搜,结果好多这个报错呢,都是说主从这种架构默认从库不支持读写,像Redis等是不支持写,MongoDB是更神奇,直接不能读,从从库上简单的配置一下,再看看。

2017-05-20T14:17:40.067+0800 E QUERY    [thread1] SyntaxError: illegal character @(shell):1:1
> rs.slaveOk()
> show  dbs
admin   0.000GB
local   0.000GB
master  0.002GB
mongo   0.000GB

2017-05-20T14:17:40.067+0800 E QUERY    [thread1] SyntaxError: illegal character @(shell):1:1
> rs.slaveOk()
> show  dbs
admin   0.000GB
local   0.000GB
master  0.002GB
mongo   0.000GB

经过验证数据同步

时间: 2024-08-11 05:33:15

MongoDB主从的相关文章

MongoDB主从+php实现

环境 172.16.115.202   primary 172.16.111.171   secondary 172.16.115.157   secondary 一.MongoDB安装 1. yum下载安装mongodb  扩展源http://repo.mongodb.org/yum/redhat/mongodb-org-3.0.repo mongodb-org-3.0.7-1.el6.x86_64.rpm #元数据包,它可以实现自动安装下面的4个组件包 mongodb-org-mongos-

MongoDB 主从配置 [二]

MongoDB 主从配置1.实验环境主:192.168.3.206从:192.168.3.2102.安装方法(分别在主.从执行下面命令) groupadd mongodb useradd mongodb -g mongodb cd /root/soft tar -zxvf mongodb-linux-x86_64-2.6.3.tgz mv mongodb-linux-x86_64-2.6.3 mongodb mv mongodb /usr/local/ cd /usr/local/ chown

mongoDB主从和副本集群配置

mongoDB主从和副本集群配置 Mongodb是时下流行的NoSql数据库(MongoDB是一个基于分布式文件存储的数据库),它的存储方式是文档式存储,并不是Key-Value形式.   优势: 快速!(当然,这和具体的应用方式有关,通常来说,它比一般的关系型数据库快5位左右.) 很高的可扩展性–轻轻松松就可实现PB级的存储(但是可能我们并不需要PB级的存储,10TB可能就够了) 他有一个很好的 replication 模式 (replica sets) 有很完善的Java API 他的存储格

Mongodb主从进行配置+auth

Mongodb主从进行配置+auth 环境介绍 master:172.17.165.245 salve    :172.17.165.230 版本 3.4 注:这里的安装步骤进行省略了 家目录在/usr/local/mongodb 配置key文件 cd /usr/local/mongodb/ openssl rand -base64 741 >>keyfile chmod 700 keyfile 开启了auth 这里开启了auth  需要在相对的数据库里面,创建用户以及分配权限,否则失败.(m

mongodb主从配置及备份

本文将介绍下mongodb主从配置及备份 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 主从服务器的实现原理 首先,主节点会把本服务的与写有关的操作记录下来,读操来不记录,这些操作就记录在local数据库中的oplog.$admin这个集合中,这是一个固定集合,大小是可以配置的,主要是通过配置oplog

mongodb主从模式部署

mongodb部署采用主从模式,主节点为:peiwo-turn4,从节点为peiwo-proxy 1.创建部署用户与部署路径.日志.数据存放路径 在peiwo-proxy主机上执行以下操作 groupadd mongodb useradd -g mongodb -d /usr/local/mongodb mongodb mkdir -p /data0/mongodb/logs  #日志文件存放路径 mkdir -p /data0/mongodb/data/master #数据文件存放路径 mkd

mongodb主从以及auth主从 配置详解

1.主服务器配置 #auth = true dbpath = /data/mongodb/db logpath = /data/mongodb/log/mongodb.log port = 27017 fork = true  #以守护程序的方式启用,即在后台运行 nohttpinterface = true logappend=true master=true 2.从服务器配置 #auth = true dbpath = /data/mongodb/db logpath = /data/mon

mongodb主从环境搭建

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: *面向集合存储,易存储对象类型的数据. *模式自由. *支持动态查询.

Mongodb主从模式篇

主从模式架构图: 主从配置安装: 10.10.20.160(master)-->10.10.20.161(slave) Master: tar zxvf mongodb-linux-x86_64-2.2.2.tgz ln -s mongodb-linux-x86_64-2.2.2 mongodb mkdir -p /u01/mongodata/db/geomaster/ mkdir -p /u01/mongodata/log/ /usr/local/mongodb/bin/mongod --fo