mongodb 搭建主从服务器
2024-08-24 20:43:47
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
啦啦啦
最新文章
- 使用COALESCE时注意left join为null的情况
- Objective-C汇总
- (1)RGB-D SLAM系列- 工具篇(硬件+关键技术)
- struct内存对齐1:gcc与VC的差别
- 图论--最近公共祖先问题(LCA)模板
- c#反射获取常量属性名以及其值(真正可用)
- 解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题
- vs2013中国集
- poj 1083 Moving Tables_dp
- hibernate之使用Annotation注解搭建项目
- nodeJS中读写文件方法的区别
- JavaScript入门之Canvas(一): 2D Context
- XMind与MindManager哪个好(网易云课堂老师:Array老师讲解稿)
- LAMP第三部分php,mysql配置
- Vue 进阶之路(七)
- 基于.Net进行前端开发的技术栈发展路线(一)
- PYTHON-函数的定义与调用,返回值,和参数
- Boost 常用的库
- 如何使用SVN
- Python3 使用 matplotlib 画折线图
热门文章
- Git 克隆操作
- Spring Cloud Eureka 注册中心 服务消费者 服务提供者之间的关系以及高可用之间的联系
- Jackson 处理复杂类型(List,map)两种方法
- php 超时 解决办法 (Maximum execution time of 30 seconds exceeded)这个问题?
- IIS字体文件添加MIME映射
- oozie 入门
- SAP OBYC自动记账的实例说明 +VALUE STRING
- SAP ERP 与SAP CRM有什么不同?
- android手机如何获取手机号
- JSONObject相关依赖架包下载(Maven依赖下载)