规划:

replSet 复制集名称: rs1

MongoDB数据库安装安装路径为:/usr/local/mongodb/

复制集成员IP与端口:

节点1: localhost:28010   (默认的primary节点)

节点2: localhost:20811

节点3: localhost:28012

复制集各节点的数据文件,日志文件,私钥文件路径:

节点1: /data/data/r0  , /data/log/r0.log , /data/key/r0

节点2: /data/data/r1  , /data/log/r1.log , /data/key/r1

节点3: /data/data/r2  , /data/log/r2.log , /data/key/r2

$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz

--2016-07-22 11:17:12--  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz

Resolving fastdl.mongodb.org (fastdl.mongodb.org)... 54.182.5.247, 54.182.5.9, 54.182.5.45, ...

Connecting to fastdl.mongodb.org (fastdl.mongodb.org)|54.182.5.247|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 71943658 (69M) [application/x-gzip]

Saving to: ‘mongodb-linux-x86_64-rhel70-3.2.8.tgz’

100%[===============================================================================>] 71,943,658   116KB/s   in 16m 37s

2016-07-22 11:33:51 (70.5 KB/s) - ‘mongodb-linux-x86_64-rhel70-3.2.8.tgz’ saved [71943658/71943658]

$tar zxvf mongodb-linux-x86_64-rhel70-3.2.8.tgz -C /usr/local/

$mv mongodb-linux-x86_64-rhel70-3.2.8 mongodb

1) 创建数据文件存储路径

[root@node222 mongodb]# mkdir -p /data02/mongors/data/r0

[root@node222 mongodb]# mkdir -p /data02/mongors/data/r1

[root@node222 mongodb]# mkdir -p /data02/mongors/data/r2

2)创建日志文件路径

[root@node222 mongodb]# mkdir -p /data02/mongors/log

3)创建主从key文件

用于标识集群的私钥的完整路径,如果各个实例的key file内容不一致,程序将不能正常使用

[root@node222 mongodb]# mkdir -p /data02/mongors/key

[root@node222 mongodb]# echo "this is rs1  key" > /data02/mongors/key/r0

[root@node222 mongodb]# echo "this is rs1  key" > /data02/mongors/key/r1

[root@node222 mongodb]# echo "this is rs1  key" > /data02/mongors/key/r2

[root@node222 mongodb]# chmod 600 /data02/mongors/key/r*

4)启动3个实例

依次添加启动参数,其中三个MongoDB实例:

[root@node222 mongodb]# /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r0 --fork --port 28010 --dbpath /data02/mongors/data/r0 --logpath=/data02/mongors/log/r0.log --logappend

about to fork child process, waiting until server is ready for connections.

forked process: 16629

child process started successfully, parent exiting

[root@node222 mongodb]# /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r1 --fork --port 28011 --dbpath /data02/mongors/data/r1 --logpath=/data02/mongors/log/r1.log --logappend

about to fork child process, waiting until server is ready for connections.

forked process: 16666

child process started successfully, parent exiting

[root@node222 mongodb]# /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r2 --fork --port 28012 --dbpath /data02/mongors/data/r2 --logpath=/data02/mongors/log/r2.log --logappend

about to fork child process, waiting until server is ready for connections.

forked process: 16703

child process started successfully, parent exiting

[root@node222 mongodb]#

注:启动命令的参数分别为,mongod为主启动命令, replSet指定复制集名称为rs1,keyfile指定公钥文件 ,fork指定启动方式为deamo后台启动;port指定端口号,dbpath指定数据文件目录,logpath指定日志文件,logappend指定错误日志为日志追加模式;

通过进程和端口,验证启动状态

[root@node222 mongodb]# ps -ef|grep mongo

root     16629     1  0 17:36 ?        00:00:00 /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r0 --fork --port 28010 --dbpath /data02/mongors/data/r0 --logpath=/data02/mongors/log/r0.log --logappend

root     16666     1  0 17:36 ?        00:00:00 /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r1 --fork --port 28011 --dbpath /data02/mongors/data/r1 --logpath=/data02/mongors/log/r1.log --logappend

root     16703     1  0 17:36 ?        00:00:00 /usr/local/mongodb/bin/mongod --replSet rs1 --keyFile /data02/mongors/key/r2 --fork --port 28012 --dbpath /data02/mongors/data/r2 --logpath=/data02/mongors/log/r2.log --logappend

root     16739 12972  0 17:37 pts/1    00:00:00 grep --color=auto mongo

[root@node222 mongodb]# netstat -tunlp |grep mong

tcp        0      0 0.0.0.0:28010           0.0.0.0:*               LISTEN      16629/mongod

tcp        0      0 0.0.0.0:28011           0.0.0.0:*               LISTEN      16666/mongod

tcp        0      0 0.0.0.0:28012           0.0.0.0:*               LISTEN      16703/mongod

[root@node222 mongodb]#

5)配置及初始化 Replica Sets

登录到primary服务器上:

# /usr/local/mongodb/bin/mongo -port 28010

配置复制集:

> config = {_id: 'rs1', members: [

{_id: 0, host: 'localhost:28010',priority:1},

{_id: 1, host: 'localhost:28011'},

{_id: 2, host: 'localhost:28012'}]

}

初始化配置,使上面的配置生效:

>  rs.initiate(config);

6)查看复制集状态

> rs.status()

在primary节点上查看复制集状态:

> rs.isMaster()

可以再primary节点进行各种添删改查等各种数据操作,其他非master节点不能进行各种数据操作,也不能发起复制集修改命令

过程如下:(securecrt执行时候总是会复制一下回显)

[root@node222 mongodb]#  /usr/local/mongodb/bin/mongo -port 28010

MongoDB shell version: 3.2.8

connecting to: 127.0.0.1:28010/test

> use adminduse admind

switched to db admind

> use adminuse admin

switched to db admin

> config = {_id: 'rs1', members: [config = {_id: 'rs1', members: [

...              {_id: 0, host: 'localhost:28010',priority:1},             {_id: 0, host: 'localhost:28010',priority:1},

...              {_id: 1, host: 'localhost:28011'},             {_id: 1, host: 'localhost:28011'},

...              {_id: 2, host: 'localhost:28012'}]             {_id: 2, host: 'localhost:28012'}]

...       }      }

{

"_id" : "rs1",

"members" : [

{

"_id" : 0,

"host" : "localhost:28010",

"priority" : 1

},

{

"_id" : 1,

"host" : "localhost:28011"

},

{

"_id" : 2,

"host" : "localhost:28012"

}

]

}

> rs.initiate(config);rs.initiate(config);

{ "ok" : 1 }

rs1:OTHER>

rs1:SECONDARY>

rs1:SECONDARY> rs.status()rs.status()

{

"set" : "rs1",

"date" : ISODate("2016-07-22T09:40:47.831Z"),

"myState" : 1,

"term" : NumberLong(1),

"heartbeatIntervalMillis" : NumberLong(2000),

"members" : [

{

"_id" : 0,

"name" : "localhost:28010",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 266,

"optime" : {

"ts" : Timestamp(1469180428, 2),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2016-07-22T09:40:28Z"),

"infoMessage" : "could not find member to sync from",

"electionTime" : Timestamp(1469180428, 1),

"electionDate" : ISODate("2016-07-22T09:40:28Z"),

"configVersion" : 1,

"self" : true

},

{

"_id" : 1,

"name" : "localhost:28011",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 31,

"optime" : {

"ts" : Timestamp(1469180428, 2),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2016-07-22T09:40:28Z"),

"lastHeartbeat" : ISODate("2016-07-22T09:40:46.077Z"),

"lastHeartbeatRecv" : ISODate("2016-07-22T09:40:47.815Z"),

"pingMs" : NumberLong(0),

"syncingTo" : "localhost:28010",

"configVersion" : 1

},

{

"_id" : 2,

"name" : "localhost:28012",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 31,

"optime" : {

"ts" : Timestamp(1469180428, 2),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2016-07-22T09:40:28Z"),

"lastHeartbeat" : ISODate("2016-07-22T09:40:46.104Z"),

"lastHeartbeatRecv" : ISODate("2016-07-22T09:40:47.813Z"),

"pingMs" : NumberLong(0),

"syncingTo" : "localhost:28010",

"configVersion" : 1

}

],

"ok" : 1

}

rs1:PRIMARY> rs.isMaster()rs.isMaster()

{

"hosts" : [

"localhost:28010",

"localhost:28011",

"localhost:28012"

],

"setName" : "rs1",

"setVersion" : 1,

"ismaster" : true,

"secondary" : false,

"primary" : "localhost:28010",

"me" : "localhost:28010",

"electionId" : ObjectId("7fffffff0000000000000001"),

"maxBsonObjectSize" : 16777216,

"maxMessageSizeBytes" : 48000000,

"maxWriteBatchSize" : 1000,

"localTime" : ISODate("2016-07-22T09:41:07.987Z"),

"maxWireVersion" : 4,

"minWireVersion" : 0,

"ok" : 1

}

rs1:PRIMARY>

mongodb-3.2.8 单机复制集安装的更多相关文章

  1. 单机Mongo复制集安装配置(数据库版本:4.x)

      官方文档: https://docs.mongodb.com/manual/tutorial/deploy-replica-set-with-keyfile-access-control/#dep ...

  2. mongodb3.2.3 复制集安装步骤

    mongodb 复制集 测试 node1: 172.18.20.161 47000 (主)node2: 172.18.20.162 47000 (副)node3: 172.18.20.163 4700 ...

  3. MongoDB基础之九 replication复制集

    准备工作:创建目录 mkdir -p /home/m17 //home/m18 /home/m19 /home/mlog 1:启动3个实例,且声明实例属于某复制集 # ./bin/mongod --d ...

  4. MongoDB DBA 实践4-----创建复制集

    一.复制 复制允许多个数据库服务器共享相同数据的功能,从而确保冗余并促进负载平衡 1.数据冗余及可用性 复制技术提供数据冗余及可用性,在不同的数据库服务器上使用多个数据副本,复制技术防止单个数据库服务 ...

  5. MongoDB for OPS 02:复制集 RS 配置

    写在前面的话 对于生产环境而言,除非是非常不重要的业务,且该业务允许我们出现一定时间的停机,我们一般才会使用单节点,且该单节点必须要有完善的备份手段. RS 复制集 我们这里采取一主两从的方式搭建复制 ...

  6. Mongodb 基础 复制集原理和搭建

    数据复制原理 开启复制集后,主节点会在local库下生成一个集合叫 oplog.rs,这是一个有限的集合,即大小固定.这个集合记入了整个mongod实例一段时间内数据库的所有变更操作(如:增/删/改) ...

  7. MongoDB 3.2复制集单节点部署(四)

    MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 3.2版本进行复制集实验(但MongoDB配置文件 ...

  8. MongoDB 2.6复制集单节点部署(三)

    MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 2.6版本进行复制集实验(但MongoDB配置文件 ...

  9. MongoDb复制集实现故障转移,读写分离

    前言 数据库技术是信息系统的一个核心技术,发展很快,各种功能类型数据库层出不穷,之前工作中使用过关系型数据库(mysql.oracle等).面相对象数据库(db4o).key-value存储(Memc ...

随机推荐

  1. 【原】Oracle 11.2.0.1 64bit for RHEL6.0 Server x86_64 静默安装

    作者:david_zhang@sh [转载时请以超链接形式标明文章] 链接:http://www.cnblogs.com/david-zhang-index/p/4182469.html 本文适用Or ...

  2. Summit Online Judge

    题意: 询问将取值在 $[L,R]$ 的若干个整数相加,可以得到 $[x,y]$ 区间内多少个数字. 解法: 只需要考虑求 $[L,R]$ 的数字能凑出 $[1,n]$ 的多少个数字,即可得出答案. ...

  3. linux使用curl进行WebService接口测试

    参考 :linux使用curl进行接口测试 使用curl 命令模拟POST/GET请求 Linux命令发送Http的get或post请求(curl和wget两种方法) curl 模拟 GET\POST ...

  4. E - Lovely Palindromes

    Description Pari has a friend who loves palindrome numbers. A palindrome number is a number that rea ...

  5. 做一名开源社区的扫地僧——从Bug report到Google Summer of Code(GSoC):从200个bug到5000美金

    今年的软件自由日(SFD),我在广州Linux用户组的线下活动上做了一个分享,主题叫做<做一名开源社区的扫地僧(上)>.我把演讲的内容重新整理扩充, 写出了文字版, 希望可以跟更多朋友分享 ...

  6. FlashkUI v1.33 发布(提供移动设备支持)

    v1.33 Beta更新内容:增加对移动设备的支持,新增自定义双渲染器双层树组件.List增加按数据子项排序功能. <ignore_js_op> 介绍: Flex已经不作为Adobe官方支 ...

  7. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)

              大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...

  8. DP简单问题联系--最长递增子序列+最长公共子序列等

    今天重温了一下dp问题,发现自己两个礼拜不写题目就什么都不会了...心态爆炸,感觉去考试怕是要gg了... 不过今天总结一下写的题目,全部都是基础的dp问题 第一个是 求最长不下降子序列的长度 第一行 ...

  9. lightoj 1096【矩阵快速幂(作为以后的模板)】

    基础矩阵快速幂何必看题解 #include <bits/stdc++.h> using namespace std; /* 0 1 2 3 4 5 6 7 0 0 0 */ const i ...

  10. Telnet 命令格式

    Telnet host 端口 如:Telnet 127.0.0.1 11211 执行命令进入后 ctr +] ,打开回显,并回车即可