解压mongodb-linux-x86_64-rhel70-3.2.0.tgz

将解压后的bin路径添加到系统环境变量,保证mongo、mongod等命令可用

创建副本集目录mongo/27017、27018、27019

27017、27018、27019下在创建mogo.conf:

logpath=/data/local/mongo/27017/log/mongo.log

dbpath=/data/local/mongo/27017/data

bind_ip=127.0.0.1   #若允许外网访问,需删掉此项

logappend=true

fork=true

port=27017

创建配置文件中logpath和dbpath目录。

启动服务

mongod --config 27017/mongo.conf --replSet set1 
mongod --config 27018/mongo.conf --replSet set1 
mongod --config 27019/mongo.conf --replSet set1 

配置副本集:

连接27017

mongo --port 27017

定义变量:

>conf = {_id:"set1",members:[{_id:0,host:"127.0.0.1:27017"}]}
rs.initiate(conf)

显示:

<"ok":1>

将本实例设置成master:

>db.isMaster() 

将27018、27019添加到副本集:

>rs.add("127.0.0.1:27018")
>rs.add("127.0.0.1:27019")

登录任一台查看副本集状态:

set1:PRIMARY> rs.status()
{
"set" : "set1",
"date" : ISODate("2017-04-22T06:20:43.260Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "127.0.0.1:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 321,
"optime" : {
"ts" : Timestamp(1492842009, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-04-22T06:20:09Z"),
"electionTime" : Timestamp(1492841919, 2),
"electionDate" : ISODate("2017-04-22T06:18:39Z"),
"configVersion" : 3,
"self" : true
},
{
"_id" : 1,
"name" : "127.0.0.1:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 37,
"optime" : {
"ts" : Timestamp(1492842009, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-04-22T06:20:09Z"),
"lastHeartbeat" : ISODate("2017-04-22T06:20:43.216Z"),
"lastHeartbeatRecv" : ISODate("2017-04-22T06:20:42.216Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "127.0.0.1:27017",
"configVersion" : 3
},
{
"_id" : 2,
"name" : "127.0.0.1:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 34,
"optime" : {
"ts" : Timestamp(1492842009, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-04-22T06:20:09Z"),
"lastHeartbeat" : ISODate("2017-04-22T06:20:43.221Z"),
"lastHeartbeatRecv" : ISODate("2017-04-22T06:20:41.228Z"),
"pingMs" : NumberLong(0),
"configVersion" : 3
}
],
"ok" : 1
}

修改默认数据引擎:

mongo3.2默认引擎为WiredTiger,若需要使用其他引擎,可在启动时指定:

mongod --storageEngine mmapv1 --config mongo.conf --replSet set1

强制kill掉mongo,再启动时会报错:

ERROR: child process failed, exited with error number 100

需先修复:

 mongod -f mongo.conf --repair

然后再启动

Mongo副本集搭建的更多相关文章

  1. mongo副本集搭建及服务器复用方案

    比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲 ...

  2. 我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建具体过程

    我们的 mongo 副本集有三台 mongo 服务器:一台主库两台从库. 主库进行写操作,两台从库进行读操作(至于某次读操作到底路由给了哪台,仲裁决定).实现了读写分离.这还不止,假设主库宕掉,还能实 ...

  3. MongoDB副本集搭建及备份恢复

    一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...

  4. mongodb副本集搭建过程中的问题和解决技巧

    在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...

  5. Mongo副本集的配置以及php node.js连接使用副本集

    最近弄了下mongodb的副本集, 首先说下没有认证情况的副本集,相对比较简单,因为环境有限,我在同一台服务器上做了模拟. --rest参数是打开web监控页面,比如我们这里监听37017端口,则打开 ...

  6. mongodb安装及副本集搭建

    mongodb下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tg ...

  7. windows版本 MongoDB副本集搭建及开启身份验证

    ------------恢复内容开始------------ ------------恢复内容开始------------ MongoDB副本集搭建 我搭建的是一个主节点,两个副节点 构建目录结构如下 ...

  8. mongodb 4.0副本集搭建

    近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1.  准备工作 1.1 下载软件 选择版本并下 ...

  9. mongo副本集设置主库权重,永远为主

    mongo副本集设置主库权重,即使主库宕机了再重启也还是主库. cfg = rs.conf()     ------->(查看序列)cfg.members[0].priority = 1 (设置 ...

随机推荐

  1. “Hello World!”团队第五周第七次会议

    博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.checkout&push代码 一.会议时间 2017年11月16日  ...

  2. ModelAndView在页面上取值时value="{contextConfigLocation=<NONE>}"

    后台: mv.getModel().put("initParam", 1); 页面: <input type="hidden" id="init ...

  3. Notes of Daily Scrum Meeting(11.6 and 11.7)

    Notes of Daily Scrum Meeting(11.6 and 11.7) 因为七号星期五是放假的第一天,好几名队员要么是出去玩,要么是回家了,所以我们讨论之后在七号没有开始代码的编写, ...

  4. Java文件写入时是否覆盖

    这个是和服务器读数据结合着来的,是向服务器文件写数据,这就碰到了是否覆盖以前写的数据的问题,看FileWriter();的参数后面的参数名叫append,用词典查是附加的意思,灵机一动,改成false ...

  5. Java 面试-- 1

    JAVA面试精选[Java基础第一部分]   这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了 ...

  6. 2018软工实践—Beta冲刺(2)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Beta 冲鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调组内工作 修改前端界面 展示GitHub当日代码/文档签入记录(组内 ...

  7. iOS- 本地文本容错搜索引擎2-->如何实现英文(英文首字母,汉语拼音)对中文的搜索?

      1.前言 先闲说几句,最近北京的雾霾真是大,呛的我这攻城师都抗不住了.各位攻城师们一定要爱护好自己的身体!空气好时,少坐多动. 如果条件好的话,最好让你们BOSS搞个室内空气净化器.因为那几天一般 ...

  8. 交换机、linux光衰查询

    RX收光,TX发光 一.交换机 命令: display interface transceiver brief 结果: ...... HW6851 10GE1/0/15 transceiver dia ...

  9. apache +PHP多版本 切换的问题

    在开发中切换php版本的时候出错 经过2小时的日子排查终于找到是因为切换版本后加载的php7ts.dll模块还是原来版本的,因此保pid file 错误 解决方法 PHPIniDir "H: ...

  10. es6 字符串String的扩展

    新特性:模板字符串 传统字符串 let name = "Jacky"; let occupation = "doctor"; //传统字符串拼接 let str ...