接上一篇博客:

http://www.cnblogs.com/xiaoit/p/4479066.html

1:首先创建3台虚拟机作为配置环境

IP1:192.168.91.128

IP2:192.168.91.129

IP3:192.168.91.130

2:下载MongoDB 2.6版本

https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.9.zip

3:解压

tar -zxvf mongodb-linux-x86_64-2.6.9.zip

mv mongodb-linux-x86_64-2.6.9 mongodb

  

4:在mongodb目录创建 data目录和 log 目录 和conf配置文件

同时保证data和log目录有可读写权限

在3台服务器上做如上配置

5:编辑配置文件 vi mongo.conf

在IP1:192.168.91.128上

#日志目录
logpath=/root/software/mongodb/log/mongod #数据目录
dbpath=/root/software/mongodb/data #日志以追加方式添加
logappend=true # 开启后台进程运行
fork = true #端口
port = 27017 #副本集名称
replSet=gechongrepl/192.168.91.129:27017

  

在IP2:192.168.91.129上:

#日志目录
logpath=/root/software/mongodb/log/mongod #数据目录
dbpath=/root/software/mongodb/data #日志以追加方式添加
logappend=true # 开启后台进程运行
fork = true #端口
port = 27017 #副本集名称
#192.168.91.128#replSet=gechongrepl/192.168.91.129:27017
replSet=gechongrepl/192.168.91.128:27017

在IP3:192.168.91.130上

#日志目录
logpath=/root/software/mongodb/log/mongod #数据目录
dbpath=/root/software/mongodb/data #日志以追加方式添加
logappend=true # 开启后台进程运行
fork = true #端口
port = 27017 #副本集名称
#192.168.91.128#replSet=gechongrepl/192.168.91.129:27017
#192.168.91.129#replSet=gechongrepl/192.168.91.128:27017
replSet=gechongrepl/192.168.91.129:27017 , 192.168.91.128:27017

  

6:用如上的配置文件分别启动mongod

在IP1:192.168.91.128上启动mongod

> config_repl={_id:'gechongrepl',members:[
... {_id:0,host:'192.168.91.128:27017',priority:10},
... {_id:1,host:'192.168.91.129:27017',priority:9},
... {_id:2,host:'192.168.91.130:27017',priority:9}]}
{
"_id" : "gechongrepl",
"members" : [
{
"_id" : 0,
"host" : "192.168.91.128:27017",
"priority" : 10
},
{
"_id" : 1,
"host" : "192.168.91.129:27017",
"priority" : 9
},
{
"_id" : 2,
"host" : "192.168.91.130:27017",
"priority" : 9
}
]
}

  

> rs.initiate(config_repl);
{
"startupStatus" : 4,
"info" : "gechongrepl/192.168.91.129:27017",
"ok" : 0,
"errmsg" : "all members and seeds must be reachable to initiate set"
}

报错了。尝试在IP1上面:telnet 192.168.91.130 27017 发现不通。关掉这几台服务器的iptables重新执行如上命令。

> rs.initiate(config_repl);
{
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}

至此,初始化已经OK。在上面3台机器任意一台完成初始化都可以的。

7:验证配置的副本集。

> rs.status()
{
"set" : "gechongrepl",
"date" : ISODate("2015-05-05T05:54:20Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "192.168.91.128:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1936,
"optime" : Timestamp(1430803801, 1),
"optimeDate" : ISODate("2015-05-05T05:30:01Z"),
"electionTime" : Timestamp(1430803801, 2),
"electionDate" : ISODate("2015-05-05T05:30:01Z"),
"self" : true
},
{
"_id" : 1,
"name" : "192.168.91.129:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1459,
"optime" : Timestamp(1430803801, 1),
"optimeDate" : ISODate("2015-05-05T05:30:01Z"),
"lastHeartbeat" : ISODate("2015-05-05T05:54:19Z"),
"lastHeartbeatRecv" : ISODate("2015-05-05T05:54:19Z"),
"pingMs" : 1,
"syncingTo" : "192.168.91.128:27017"
},
{
"_id" : 2,
"name" : "192.168.91.130:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1459,
"optime" : Timestamp(1430803801, 1),
"optimeDate" : ISODate("2015-05-05T05:30:01Z"),
"lastHeartbeat" : ISODate("2015-05-05T05:54:19Z"),
"lastHeartbeatRecv" : ISODate("2015-05-05T05:54:20Z"),
"pingMs" : 1,
"syncingTo" : "192.168.91.128:27017"
}
],
"ok" : 1
}

配置已经OK。

rs.help()

  

添加仲裁节点

#rs.addArb("192.168.91.130:27017")

  

MongoDB副本集配置系列二:配置MongoDB副本集的更多相关文章

  1. ldap配置系列二:jenkins集成ldap

    ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方 ...

  2. windows下mongodb基础玩法系列二CURD附加一

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  3. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  4. 【MongoDB详细使用教程】二、MongoDB基本操作

    目录 数据类型 数据库操作 集合操作 数据操作 增 查 改 修改整行 修改指定字段的值 删 数据类型 MongoDB常见类型 说明 Object ID 文档ID String 字符串,最常用,必须是有 ...

  5. mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全

    这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...

  6. mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 区域

    这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...

  7. MongoDB副本集配置系列九:MongoDB 常见问题

    What is a namespace in MongoDB? If you remove a document, does MongoDB remove it from disk? When doe ...

  8. iBatisnet系列(二) 配置运行环境和日志处理

    http://hjf1223.cnblogs.com/archive/2006/04/24/383119.aspx 刚爬完鼓山回来,想到这篇刚刚开始,不敢怠慢,洗完澡休息一下就到电脑旁边来了.现在我开 ...

  9. MongoDB系列二:MongoDB安装过程

    一.MongoDB安装,以Linux系统安装为例:(下载:www.mongodb.org 注意使用stable版本) 1.下载最新版本的MongoDB安装包,wget http://fastdl.mo ...

随机推荐

  1. mac下配置android开发环境

    从昨天下午到如今.用了差点儿相同一整天的时间去熟悉mac和配置环境,基本已经OK了,大体记录了整个过程中遇到的问题. 1.安装java环境 之前听说mac自带java环境.java -version一 ...

  2. 限制EditText必须输入中文的方法

    给EditText做限制时,我们想要输入的字符串必须都是中文,不出现任何其他字符,下面的类可以很好的实现这个要求. InputLenLimit.java package com.kale.button ...

  3. 转帖:向开源项目贡献源码(以 Orchard 为例)

    原文地址:http://yangw80.blog.163.com/blog/static/247518002201552692516908/ 在开源项目满天飞的时代,仅仅把开源项目拿来用是不够的,要适 ...

  4. mongodb分布式集群搭建手记

    一.架构简介 目标单机搭建mongodb分布式集群(副本集 + 分片集群),演示mongodb分布式集群的安装部署.简单操作. 说明在同一个vm启动由两个分片组成的分布式集群,每个分片都是一个PSS( ...

  5. git别名;git配置使用shell函数;git别名使用shell函数;git获取当前分支;git alias

    获取当前分支 git symbolic-ref -q --short HEAD 2. 在git别名里使用shell函数,$1获取第一个参数的值,$2……$n依次类推,根据自己习惯需要定制 3. 提交r ...

  6. 用java打暴雪星际争霸(2)——执行測试机器人

    原创内容.转载请注明. 在上一节安装完成后.或者您直接打开我分享的虚拟机后,我如今将解说怎样启动測试机器人. 第一步,打开Eclipse,导入机器人演示样例项目,如图所看到的. 第二步,我们能够看到就 ...

  7. 看看Spring的源码(二)——bean实例化

    首先来看一段代码,看过上一节的朋友肯定对这段代码并不陌生.这一段代码诠释了Spring加载bean的完整过程,包括读取配置文件,扫描包,加载类,实例化bean,注入bean属性依赖. public v ...

  8. Verilog 加法器和减法器(4)

    类似于行波进位加法器,用串联的方法也能够实现多位二进制数的减法操作.  比如下图是4位二进制减法逻辑电路图. 8位二进制减法的verilog代码如下: module subn(x, y, d,cin) ...

  9. 如何统计NFS的client在一段时间内收到了多少个字节?

    可使用的命令如下: nfsstat –c nfsiostat 参考资料 ============= https://www.systutorials.com/docs/linux/man/8-nfss ...

  10. js面向对象之继承-原型继承

    //animal 父类 超类 var Animal = function(name) { this.name = name; this.sayhello = function() { alert(&q ...