mongodb 搭建主从服务器
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 搭建主从服务器的更多相关文章
- sql server 分布式查询 和 主从服务器搭建
1. 8K 对应的SQL语句限制 select * from openquery (recei 连接服务器名称 执行的sql 语句放在 SELECT @@SERVERNAME 在本地 ...
- jenkins主从服务器部署
当服务器为linux系统但也有部分ios代码,此时就需要添加一个从jenkins以便编译ios代码.或者需要多个job同时编译这时就需要搭建主从服务器. 1.主(master)节点安装jenkins ...
- 搭建高可用mongodb集群(一)——mongodb配置主从模式
转载自:LANCEYAN.COM 在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQ ...
- 实战录 | Redis的主从服务器搭建
<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全平台工程师田全磊,将带来Red ...
- Python中使用Flask、MongoDB搭建简易图片服务器
主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...
- [记录]CentOS搭建SVN服务器(主从同步)
CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...
- pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建
pm2命令 pm2 ls //查询pm2 启动的列表 pm2 start app.js //启动文件 pm2 restart app //重启项目 pm2 logs app //监控项目执行日志打印 ...
- centos6.5环境DNS-本地DNS主从服务器bind的搭建
centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主 ...
- 2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离
MySQL主从服务器 实现方式: MySQL REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种 ...
随机推荐
- git基本操作:上传代码
利用git将本地代码提交到远程服务器一般分为如下5个步骤: 一.查看当前文件的状态 使用git status命令可以查看有那些文件进行了修改,一般有下面几个状态: 1.Untracked: 未跟踪, ...
- Bootstrap 里的 popover 被挡住的解决方案
在Bootstarp 中我们可以使用 popover 插件做一些内容的展示, 代码如下: <a data-toggle="popover" data-placement=&q ...
- jquery+easyui开发、培训文档
目 录 1.... Accordion(可折叠标签)......................................................................... ...
- JSONP原理及jQuery中的使用
JSONP原理 JSON和JSONP JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于在浏览器和服务器之间交换信息. JSONP(JSON ...
- 【吉比特】G-bits2018校园春季招聘技术类岗位笔试经验
笔试公司:厦门吉比特网络技术股份有限公司 笔试岗位:游戏研发工程师 笔试时间:2018年3月30日19:00-20:30 笔试形式:牛客网在线做题 笔试回忆: 笔试总共时长1小时半,共52道题.其中选 ...
- Java如何以短格式显示月份?
在Java中,如何显示短格式的月份名称? 使用DateFormatSymbols().DateFormatSymbols类的getShortMonths()方法,本示例显示了几个月的简写名称. pac ...
- Java如何设定二维数组的上限?
在Java中,如何设定二维数组的上限? 以下示例中,使用arrayname.length来确定二维数组的上限(元素数目). package com.yiibai; public class Dimen ...
- e784. 监听对JList选择变动
When the set of selected items is changed, either by the user or programmatically, a list selection ...
- Python——dummy_thread( _dummy_thread in Python 3.+)
dummy_thread 模块在Python 3中改称为 _dummy_thread 模块,Python 的 2to3 工具能够帮你自动的更改旧代码中的模块名称.不过更推荐使用高层次的 dummy_t ...
- 超酷 CSS3/HTML5 3D 飘带菜单实现教程
今天我们来介绍一款很有创意的CSS3/HTML5菜单,首先菜单是飘带形状的,看起来很优雅,这种菜单在个人博客中用的比较多,不仅干净利落,而且很具有个性化.另外,这款菜单在鼠标滑过菜单项时,将会出现3D ...