mongodb 主从配置比较简单,只需要在启动的时候添加参数(-master、-slave -source IP:PORT)。

Ubuntu 16.04 系统环境

监听端口分别为:27010、27011、27012。配置后的环境为:27010为主,27011、27012为从。

1) 创建mongodb数据存放的文件夹

   mkdir -p /mongodata/test/db27010
mkdir -p /mongodata/test/db27011
mkdir -p /mongodata/test/db27012

2)启动27010主

在启动命令中加入 master,该mongo服务即可作为主。

mongod -dbpath "/mongodata/test/db27010" -port  -master -logpath "/mongodata/test/db27010/log.txt" -fork

3)启动27011、27012从

添加参数 --slave 作为从,通过--source localhost:27010来指定主的位置。

mongod -dbpath "/mongodata/test/db27011" -port  -slave -source localhost: -logpath "/mongodata/test/db27011/log.txt" -fork

mongod -dbpath "/mongodata/test/db27012" --port 27012 -slave -source localhost:27010  -logpath "/mongodata/test/db27012/log.txt" -fork

4)测试

查看mongo服务

ps -aux|grep mongo
root@localhost:/home/lime# ps -aux | grep mongo
root 0.9 9.0 ? Sl : : mongod -dbpath /mongodata/test/db27010 -port -master -logpath /mongodata/test/db27010/log.txt -fork
root 0.9 8.6 ? Sl : : mongod -dbpath /mongodata/test/db27011 -port -slave -source localhost: -logpath /mongodata/test/db27011/log.txt -fork
root 1.1 5.0 ? Sl : : mongod -dbpath /mongodata/test/db27012 -port -slave -source localhost: -logpath /mongodata/test/db27012/log.txt -fork

添加测试数据:
我们在主27010中创建user集合,并添加100个用户,然后再从中查看。

mongo --port 27010
use user;
for(i=;i<;i++){ db.user.insert({"name":"ximu"+i}); }
> db.user.find().skip()
{ "_id" : ObjectId("59300dd3ea97563d18acf140"), "name" : "lime_90" }
{ "_id" : ObjectId("59300dd3ea97563d18acf141"), "name" : "lime_91" }
{ "_id" : ObjectId("59300dd3ea97563d18acf142"), "name" : "lime_92" }
{ "_id" : ObjectId("59300dd3ea97563d18acf143"), "name" : "lime_93" }
{ "_id" : ObjectId("59300dd3ea97563d18acf144"), "name" : "lime_94" }
{ "_id" : ObjectId("59300dd3ea97563d18acf145"), "name" : "lime_95" }
{ "_id" : ObjectId("59300dd3ea97563d18acf146"), "name" : "lime_96" }
{ "_id" : ObjectId("59300dd3ea97563d18acf147"), "name" : "lime_97" }
{ "_id" : ObjectId("59300dd3ea97563d18acf148"), "name" : "lime_98" }
{ "_id" : ObjectId("59300dd3ea97563d18acf149"), "name" : "lime_99" }

查看从的数据:

mongo --port 27011
show dbs;
use user;
db.user.find().skip().limit(); mongo --port 27012
show dbs;
use user;
db.user.find().skip().limit();

5)主从的管理  -- -- -- -- -- -- 以下测试未通过
查看当前的从服务器:

mongo --port 27010
use local;
db.slaves.find();

输出如下内容:

{ "_id" : ObjectId("4fabb177fc376c0a2552bab4"), "host" : "127.0.0.1", "ns" : "local.oplog.$main", "syncedTo" : { "t" : , "i" :  } }
{ "_id" : ObjectId("4fabb18078bc627b617794d2"), "host" : "127.0.0.1", "ns" : "local.oplog.$main", "syncedTo" : { "t" : , "i" : } }

查看从的主:

mongo --port 27011
use local;
db.sources.find();

输出如下内容:

{ "_id" : ObjectId("4fabb18078bc627b617794d1"), "host" : "localhost:27010", "source" : "main", "syncedTo" : { "t" : , "i" :  }, "localLogTs" : { "t" : , "i" :  } }

6)主从复制的选项

–slavedelay 10      #延时复制 单位为秒
–autoresync         #自动重新同步
–only               #复制指定的数据库,默认复制所有的库
–oplogSize          #主节点的oplog日志大小,单位为M

啦啦啦

mongodb 搭建主从服务器的更多相关文章

  1. sql server 分布式查询 和 主从服务器搭建

    1. 8K 对应的SQL语句限制  select  *  from openquery (recei    连接服务器名称 执行的sql 语句放在   SELECT @@SERVERNAME  在本地 ...

  2. jenkins主从服务器部署

    当服务器为linux系统但也有部分ios代码,此时就需要添加一个从jenkins以便编译ios代码.或者需要多个job同时编译这时就需要搭建主从服务器. 1.主(master)节点安装jenkins ...

  3. 搭建高可用mongodb集群(一)——mongodb配置主从模式

    转载自:LANCEYAN.COM 在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQ ...

  4. 实战录 | Redis的主从服务器搭建

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全平台工程师田全磊,将带来Red ...

  5. Python中使用Flask、MongoDB搭建简易图片服务器

    主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...

  6. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  7. pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建

    pm2命令 pm2 ls //查询pm2 启动的列表 pm2 start app.js //启动文件 pm2 restart app //重启项目 pm2 logs app //监控项目执行日志打印 ...

  8. centos6.5环境DNS-本地DNS主从服务器bind的搭建

    centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主 ...

  9. 2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

    MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种 ...

随机推荐

  1. Java 将图片转二进制再将二进制转成图片

    import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOu ...

  2. 百度地图Api进阶教程-点聚合9.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. 轻量级ORM框架Dapper应用八:使用Dapper实现DTO

    一.什么是DTO 先来看看百度百科的解释: 数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统.数据传输目标往往是数据访问对象从数据库中检索数 ...

  4. JavaScript 作用域链解析

    JavaScript 中有 Scope( 作用域 ) , Scope chain( 作用域链 ) , Execute context( 执行上下文 ) , Active Object ( 活动对象 ) ...

  5. qualcomm batch 烧录脚本

    在烧录android系统候用到了windows的批处理文件,拿出来分析一下,顺便记录一下高通平台烧录系统的命令. @echo off :: @ :不显示后面的命令,就是后面的"echo of ...

  6. C语言中头文件——你乱吗????

    如果尔等之辈问本大神,为什么需要头文件呢?本大神告诉你:想要知道为什么需要头文件的话,你就应该知道C语言编译的过程: 本大神为你们准备了基本知识: C语言文件的编译与执行的四个阶段并分别描述: C++ ...

  7. python 判断一个对象的变量类型

    isinstance   语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, ...

  8. C# 中委托和代理是一个概念吗??

    刚刚看了一下资料,发现有些资料说的是代理,有的说是委托,但都是指同一样东西delegate,委托和事件是有关的,因为事件的本质就是多播委托,关于多播委托楼主可以找找资料就知道了. 不过个人觉得这两个概 ...

  9. winform 用户控件事件的写法

    public partial class UcTest : UserControl { public UcTest() { InitializeComponent(); } //定义事件 public ...

  10. yii2 页面渲染方法解析

    render渲染.renderPartial渲染部分.renderContent.renderAjax.renderFile ① render显示view和layout ② renderPartial ...