MongoDB:搭建三节点 Replica Set 环境
今天学习了搭建 MongDB 复制环境,实验环境是在虚拟机上同一系统,并搭建三节点 Replica Set,
根据文档上的描述,mongodb 复制配置简单,并且能够自动 failover,这些高级特性以后再实验,这里仅
描述配置过程:
一 环境信息
虚拟机: Red Hat Enterprise Linux Server release 6.2
主机名: redhatB.example.com
MongoDB 版本:v2.2.1
端口 | 数据目录 | |
主结点 | 27018 | /mongodb/data01 |
从节点一 | 27019 | /mongodb/data02 |
从节点二 | 27020 | /mongodb/data03 |
二 搭建步骤
--2.1 创建数据目录
[mongo@redhatB mongodb]$ mkdir -p /mongodb/data01 [mongo@redhatB mongodb]$ mkdir -p /mongodb/data02 [mongo@redhatB mongodb]$ mkdir -p /mongodb/data03 |
备注:三个目录分别为三个节点数据目录,并设置好目录权限。
--2.2 创建配置文件
--2.2.1 主节点配置文件
touch /mongodb/data01/mongodb_27018.conf, 写入以下:
fork = true |
--2.2.2 从节点一配置
touch /mongodb/data02/mongodb_27019.conf, 写入以下:
fork = true |
--2.2.3 从节点二配置
touch /mongodb/data03/mongodb_27020.conf, 写入以下:
fork = true |
--2.3 启动主从节点
mongod -f /mongodb/data01/mongodb_27018.conf mongod -f /mongodb/data02/mongodb_27019.conf mongod -f /mongodb/data03/mongodb_27020.conf |
--2.4 初始化 Replica Sets
--2.4.1 登陆结点一初始化
[mongo@redhatB mongodb]$ mongo 127.0.0.1:27018 MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:27018/test > rs.inirs.initiate(); |
备注:使用的是默认配置。
--2.5 查看 Replica Sets 配置
> rs.conf(); { "_id" : "rs0", "version" : 1, "members" : [ { "_id" : 0, "host" : "redhatB.example.com:27018" } ] } |
备注:只能看到一个节点信息;
--2.6 增加从节点
rs0:PRIMARY> rs.add("redhatB.example.com:27019"); { "ok" : 1 } rs0:PRIMARY> rs.add("redhatB.example.com:27020"); { "ok" : 1 } rs0:PRIMARY> |
--2.7 再次查看 Replica Sets 配置
rs0:PRIMARY> rs.conf(); { "_id" : "rs0", "version" : 3, "members" : [ { "_id" : 0, "host" : "redhatB.example.com:27018" }, { "_id" : 1, "host" : "redhatB.example.com:27019" }, { "_id" : 2, "host" : "redhatB.example.com:27020" } ] } |
备注:这时已经能看到三个节点信息。
--2.8 查看 Replica Sets 状态
rs0:PRIMARY> rs.status(); { "set" : "rs0", "date" : ISODate("2012-11-22T08:43:21Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "redhatB.example.com:27018", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 2445, "optime" : Timestamp(1353573735000, 1), "optimeDate" : ISODate("2012-11-22T08:42:15Z"), "self" : true }, { "_id" : 1, "name" : "redhatB.example.com:27019", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 74, "optime" : Timestamp(1353573735000, 1), "optimeDate" : ISODate("2012-11-22T08:42:15Z"), "lastHeartbeat" : ISODate("2012-11-22T08:43:21Z"), "pingMs" : 0 }, { "_id" : 2, "name" : "redhatB.example.com:27020", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 66, "optime" : Timestamp(1353573735000, 1), "optimeDate" : ISODate("2012-11-22T08:42:15Z"), "lastHeartbeat" : ISODate("2012-11-22T08:43:19Z"), "pingMs" : 0 } ], "ok" : 1 } |
备注:rs.status() 命令可以显示节点状态具体信息。
三 测试
--3.1 登陆主节点
[mongo@redhatB mongodb]$ mongo 127.0.0.1:27018 MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:27018/test rs0:PRIMARY> db.test_1.save({id:1}); rs0:PRIMARY> db.test_1.find(); |
备注:主节点可以读写;
--3.2 登陆从节点一
[mongo@redhatB mongodb]$ mongo 127.0.0.1:27019 MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:27019/test rs0:SECONDARY> show dbs;show dbs; local 0.125GB test 0.0625GB rs0:SECONDARY> show collections; Thu Nov 22 16:48:15 uncaught exception: error: { "$err" : "not master and slaveOk=false", "code" : 13435 } rs0:SECONDARY> |
备注:从节点不可读写,但能看到主库创建的集合,从库需要使用 rs.slaveOk() 命令开启只读。
--3.3 开启从库只读模式
[mongo@redhatB mongodb]$ mongo 127.0.0.1:27019 MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:27019/test rs0:SECONDARY> rs.slaveOk(); rs0:SECONDARY> show collections; rs0:SECONDARY> db.test_1.find(); rs0:SECONDARY> db.test_1.save({id:2});db. |
备注:这时从库可读了(不可写),同理设置从库二。 到了这里,三节点 Replica Sets 环境已经全部
搭建好了,步骤比较简单。
MongoDB:搭建三节点 Replica Set 环境的更多相关文章
- 使用express, create-react-app, mongodb搭建react模拟数据开发环境
提要 最近刚刚完成了一个vue的项目,其中涉及的用户数有6000多个以及其他数据也比较多,为了在前端能够真实的进行数据模拟,所有把全量数据拷贝下来放到了api.json中.这样导致整个api.json ...
- OceanBase三节点部署&&扩容
OceanBase三节点部署&&扩容 环境信息搭建三节点(1-1-1)创建资源池和租户查看数据分布 环境信息 IP OB目录 端口 192.168.43.89 /data/observ ...
- MongoDB之Replica Sets环境搭建
最近学习MongoDB,这两天在搭建复制集的时候碰到了不少问题,也踩了好多坑,现在在这里记录下来,以供自己和他人参考 (因为本人是初学者,所以遇到的问题也会比较初级,所以本文也比较适合初学者查阅) 背 ...
- 三节点搭建openstack-Mitaka版本
前言: 现在的云计算平台已经非常火,也非常的稳定了.像阿里云平台,百度云平台等等,今天咱们基于openstack来搭建一个云平台 注意: 本次平台搭建为三节点搭建(没有外部存储节点,所有存储为本地存储 ...
- 第三章 Spring.Net 环境准备和搭建
在前面一章我们介绍了依赖注入,控制反转的概念.接下来我们来真正动手搭建一下Spring.Net的环境,看一下Spring.Net 中的控制反转和依赖注入是什么样子. 3.1 Spring.Net 下 ...
- 【运维技术】kafka三实例集群环境搭建及测试使用
kafka三实例集群环境搭建及测试使用 单机搭建分为两部分:1. 软件安装启动 2. 软件配置 软件安装启动: # 切换到目录 cd /app # 获取kafka最新安装包,这边使用的是镜像地址,可以 ...
- 用“MEAN”技术栈开发web应用(三)用mongodb搭建数据库
上一篇介绍了如何用express搭建起服务端MVC的开发架构,本篇我们来详细介绍一下这个Model层,也就是数据库访问层.包含如何使用mongodb搭建数据库,以及如何使用mongoose来访问数据. ...
- Intellij Idea系列之Tomcat环境的搭建(三)
Intellij Idea系列之Tomcat环境的搭建(三) 一. 编写背景 Intellij Idea在刚上手的时候很多人吐槽,"god, 这么难用的IDE有谁用呀?",的确,I ...
- odoo开发环境搭建(三):安装odoo依赖的python包
odoo开发环境搭建(三):安装odoo依赖的python包 http://www.cnblogs.com/jlzhou/p/5940815.html
随机推荐
- Git使用笔记01
本文基本的參考文章链接例如以下所看到的: Pro Git(中文版) Git教程 Git使用教程 简单介绍与说明 Git是一个分布式版本号管理系统,是为了更好地管理Linux内核开发而创立的.Git能够 ...
- 第14章8节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树
在上几节的描写叙述中,我们把HierarchyViewer初始化好.也把ViewServer给装备好了.那如今距离获得一个控件去操作它是万事具备仅仅欠东风了,欠了那一股春风了?欠了的是建立控件树这个东 ...
- POJ 3580(SuperMemo-Splay区间加)[template:Splay V2]
SuperMemo Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 11384 Accepted: 3572 Case T ...
- windows下搭建hadoopproject(一)
这里是接着之前的一篇 <hadoop在windows下的环境搭建 >来的~~~ 一.安装文件准备 1:下载好hadoop-1.0.0.tar.gz, 下载地址是https://archiv ...
- 将Ubuntu主文件夹里的中文文件夹名称改成英文
方法一: 首先修改现有主文件夹下各文件夹名称: Desktop. Documents. Download. Music. Pictures. Public. Templates. Videos …… ...
- canvas转盘抽奖的实现(二)
本篇是<canvas转盘抽奖的实现(一)>的另一种实现方法,主要通过css3的transform以及transition过渡来实现. // ' + r + '等奖'; } draw ...
- longestIncreasingSequence最长上升子序列问题
package dp; /** * 最长上升子序列问题 */ public class LongestIncreasingSubsequence { /** * 原始dp * @param arr * ...
- hdu1878欧拉回路(DFS+欧拉回路)
欧拉回路 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 【BZOJ3505】[Cqoi2014]数三角形 组合数
[BZOJ3505][Cqoi2014]数三角形 Description 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. ...
- SAM4E单片机之旅——7、LED闪烁之TC中断
RTT主要用做一个全局的定时器,而且不太通用.现在尝试使用一个更为通用的定时器进行定时:定时计数器(Timer Counter, TC). TC提供了广泛的功能,主要可以分为对输入的测量,以及波形的输 ...