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. Sword STL容器分类介绍

    标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.slist是一个单 ...

  2. Hive之分区(Partitions)和桶(Buckets)

    转自:http://www.aahyhaa.com/archives/316 hive引入partition和bucket的概念,中文翻译分别为分区和桶(我觉的不是很合适,但是网上基本都是这么翻译,暂 ...

  3. Ilya Sutskever

    中文名:伊利亚 莎士科尔 早期: 加拿大多伦多大学,Hinton实验室,2005年至2012年 博士后: 斯坦福大学,Andrew实验室,2012年11月到2012年12月 工作: 谷歌,2013年3 ...

  4. pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")

    错误提示: Traceback (most recent call last): File "D:/projectwc/test/dd.py", line 43, in <m ...

  5. Unity Package Manager Error的解决方案

    问题来源 启动Unity时显示 fail to start Unity Package Manager,软件环境为 Unity 2017.3.0f3. 解决方案 根据网上所给的方案,我选择添加环境变量 ...

  6. Solr系列一:Solr(Solr介绍、Solr应用架构、Solr安装使用)

    一.前言 前面已经学习了Lucene的分词.索引详解.搜索详解的知识,已经知道开发一个搜索引擎的流程了.现在就会有这样的一个问题:如果其他的系统也需要使用开发的搜索引擎怎么办呢?这个时候就需要把开发的 ...

  7. e775. 设置JList组件项的维数

    By default, the width of the list is determined by the longest item and the height is determined by ...

  8. linq where in 排序

    List<INGREDIENT> selectedIngredients = db.INGREDIENT .Where(i => model.SelectedIngredients. ...

  9. c#包含类文件到csprj中

    public ActionResult Index() { XDocument doc = XDocument.Load(@"G:\users\kim.gao\documents\visua ...

  10. 多个IoC容器适配器设计及性能测试(Castle.Windsor Autofac Spring.Core)

    [转]多个IoC容器适配器设计及性能测试和容器选择 1. 采用的IoC容器和版本 Autofac.2.6.3.862 Castle.Windsor.3.1.0 Spring.Core.2.0.0 2. ...