创建目录

mkdir -p /data/r0 /data/r1 /data/r2

声明实例

./bin/mongod --port 27017 --dbpath /home/workspace/data/r0/ --smallfiles --replSet rsa --fork --logpath /home/workspace/logs/mongo0.log
./bin/mongod --port 27018 --dbpath /home/workspace/data/r1/ --smallfiles --replSet rsa --fork --logpath /home/workspace/logs/mongo1.log
./bin/mongod --port 27019 --dbpath /home/workspace/data/r2/ --smallfiles --replSet rsa --fork --logpath /home/workspace/logs/mongo2.log

增加配置

rsconf = {
_id:‘rsa’,
members:
[
{_id:0,
host:‘192.168.87.131:27017’
},
{_id:1,
host:‘192.168.87.131:27018’
},
{_id:2,
host:‘192.168.87.131:27019’
}
]
}
rs.initiate(rsconf);

测试

  • 连接子节点 :./bin/mongo --port 27017
  • use test
  • db.test.user({uid:1,name:‘liliy’})
  • 切换到从库 :./bin/mongo --port 27019
  • use test
  • show tables: Error: listCollections failed: { “note” : “from execCommand”, “ok” : 0, “errmsg” : “not master” }
  • rs.slaveOk();
  • show tables

MongoDB中你只能通过主节点将Mongo服务添加到副本集中, 判断当前运行的Mongo服务是否为主节点可以使用命令db.isMaster() 。
MongoDB的副本集与我们常见的主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况。

复制集创建自动化脚本:

vim start.sh

#!/bin/bash
IP=192.168.119.128
NA=rs2
if [ $1 == 'reset' ]; then
pkill -9 mongo
rm -rf /home/m*
exit;
fi
if [ $1 == 'repl' ]; then
mkdir -p /home/m17 /home/m18 /home/m19 /home/mlog
/usr/mongodb/bin/mongod --dbpath /home/m17 --logpath /home/mlog/m17.log --port 27017 --fork --smallfiles --replSet ${NA}
/usr/mongodb/bin/mongod --dbpath /home/m18 --logpath /home/mlog/m18.log --port 27018 --fork --smallfiles --replSet ${NA}
/usr/mongodb/bin/mongod --dbpath /home/m19 --logpath /home/mlog/m19.log --port 27019 --fork --smallfiles --replSet ${NA}
/usr/mongodb/bin/mongo <<EOF
use admin
rsconf = {
_id:'rs2',
members:
[
{_id:0,host:'${IP}:27017'},
{_id:1,host:'${IP}:27018'},
{_id:2,host:'${IP}:27019'}
]
}
rs.initiate(rsconf);
EOF
exit;
fi

执行自动化脚本:

sh start.sh reset

sh start.sh repl

输入命令: ./mongo 会自动连接到复制集中的主节点

1、if和[ ]之间要空格。

2、[ ]和' '之间要空格

3、' '和=之间要空格,

否则都会报错

参考资料:

http://www.cnblogs.com/skyrim/p/5098167.html

https://yq.aliyun.com/articles/64

注意的几点:

MongoDB复制集架构搭建的更多相关文章

  1. MongoDB复制集环境搭建

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1853478 环境介绍 ...

  2. mongodb3.4.0复制集的搭建

    本次主要介绍一下我们项目中关于mongodb复制集的搭建过程. 部署三台mongodb,分别是在69,70,71上面.71上面是主节点,69和70是从节点.使用mongodb3.4.0版本. 先看一安 ...

  3. MongoDB复制集成员及架构介绍(一)

    MongoDB复制集介绍 MongoDB支持在多个机器中通过异步复制达到提供了冗余,增加了数据的可用性.MongoDB有两种类型的复制,第一种是同于MySQL的主从复制模式(MongoDB已不再推荐此 ...

  4. MongoDB复制集概念架构浅析

    一.复制集的作用 (1) 高可用 防止设备(服务器.网络)故障. 提供自动failover 功能. 技术来保证数 (2) 灾难恢复 当发生故障时,可以从其他节点恢复. (3) 功能隔离 用于分析.报表 ...

  5. MongoDB学习4:MongoDB复制集机制和原理,搭建复制集

    1.复制集的作用   1.1 MongoDB复制集的主要意义在于实现服务高可用   1.2 它的实现依赖于两个方面的功能:    · 数据写入时将数据迅速复制到另一个独立节点上    · 在接收写入的 ...

  6. MongoDB副本集的搭建

    副本集是mongodb提供的一种高可用解决方案.相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary. 整个过程对业务透明,同时也大大降低 ...

  7. MongoDB复制集技术

    复制集搭建 没毛病: https://www.cnblogs.com/nicolegxt/p/6841442.html?utm_source=itdadao&utm_medium=referr ...

  8. MongoDB学习笔记(六、MongoDB复制集与分片)

    目录: MongoDB部署模型 MongoDB可复制集 MongoDB读写分离 分片架构部署 最佳实践 MongoDB部署模型: 单机 -> 可复制集 -> 分片集群 MongoDB可复制 ...

  9. MongoDB 复制集 (一) 成员介绍

       一 MongoDB 复制集简介          MongoDB的复制机制主要分为两种:          Master-Slave    (主从复制)      这个已经不建议使用       ...

随机推荐

  1. Error querying database找不到数据库的错误可能发生的原因..

    这个问题纠结了大概两个小时.原因是这样的,我刚刚换了一台新的电脑,准备把以前电脑上自己搭建的小项目放到新电脑上面,用myeclipse引入项目之后,启动项目在浏览器跑起来.然后输入账号密码登录主页,报 ...

  2. es6总结(十)--class

  3. WebRTC VoiceEngine综合应用示例(二)——音频通话的基本流程(转)

    下面将以实现一个音频通话功能为示例详细介绍VoiceEngine的使用,在文末将附上相应源码的下载地址.这里参考的是voiceengine\voe_cmd_test. 第一步是创建VoiceEngin ...

  4. STL之set的用法

    1.关于set 首先,set是关联容器,set作为一个容器是用来存储同一种数据类型的数据结构,基本功能与数组相似.不同的是,在set中每个元素的值都是唯一的.而且系统能够根据元素的值自动进行排序.但是 ...

  5. hdu 4503(数学,概率)

    湫湫系列故事——植树节 Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  6. UVALive 5135 Mining Your Own Business 双连通分量

    据说这是一道Word Final的题,Orz... 原题链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...

  7. VMWare上Linux系统下载安装教程

    原文链接:http://www.studyshare.cn/blog-front//software/details/1162/0 一.下载 linux镜像文件下载,此处只提供CentOS 6.8版本 ...

  8. Anaconda环境搭建

    最近要使用Anaconda做一些机器视觉相关的开发,在此记录下Anaconda的搭建 首先去官网下载 这里我选择windows平台 由于浏览器自己下载的过慢,我这里选择用迅雷下载 没python就把那 ...

  9. IntelliJ IDEA 常用快捷键总结

    个人使用频率的高低排序: Alt+enter               代码提示 Alt+7                查看类的方法 Alt+insert        生成get和set方法 ...

  10. spring springmvc js websocket 监听

    第一步:web.xml中支持异步.所有的filter及servlet <filter> <filter-name>characterEncoding</filter-na ...