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. 【C】——动态库中函数的作用范围

    如何生成动态库 net小伙 已经在此文中说明——[C]——如何生成静态库和动态库:接下来就要看看动态库中函数的作用范围: 首先我们使用命令   gcc -fPIC -shared -o libtest ...

  2. 关于Unity中水和雾的使用

    水 自己来做水和雾还是有点麻烦的,不过没关系,Unity帮我们做好了很多可以用的. 1.Unity自己实现了水的特效,帮助我们解决游戏中水的问题 2.Unity的水集成在了Environment的环境 ...

  3. 关于Mac上的开发工具

    如果是JavaScript语言的话用  Intellij IDEA 如果是C/C++语言的话用  XCode

  4. Opengl绘制我们的小屋(四)第三人称漫游

    本节内容是在第一人称漫游上完成的,请先了解上文中第一人称漫游的实现. 这一节讲下第三人称漫游是如何实现,第三人称,简单来说,就是在你后面会跟着一台摄像机顺着你拍摄. 先看一下失败的尝试.这个方法是把人 ...

  5. 【转】【WPF】WPF中MeasureOverride ArrangeOverride 的理解

    1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...

  6. (笔记)Linux中的终端、控制台、tty、pty

    1>tty(终端设备的统称): tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘与显示器 ...

  7. Python中的高级turtle(海龟)作图

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  8. Java如何暂停线程一段时间?

    在Java编程中,如何暂停线程一段时间? 以下示例显示如何通过创建sleepThread()方法来暂停线程一段时间. package com.yiibai; public class Suspendi ...

  9. 关于makefile文件研究

    makefile文件采用依赖倒推的模式进行编译. 主要由以下几步构成: 1 申明 2 default 默认生成的对象 3 TARGET 链接过程 4 cpp 编译过程 5 生成一个version.h文 ...

  10. ASP.NET后台输出js脚本代码

    利用asp.net输出js我们大多数都会直接使用Respone.Write()然后根js格式的代码,再在页面调用时我们直接这样是完全可以实现的,下面我来给大家介绍另一种方法 我是我最初的想法以下是代码 ...