1、上传解压软件包

cd /home/dinpay/

解压:tar -zxvf  mongodb-linux-x86_64-rhel62-3.2.2.tgz

重命名:  mv  mongodb-linux-x86_64-rhel62-3.2.2.tgz mongodb

1.在集群的机器上建立对应的data文件夹例如:/data/mongodb/replset/data

2.建立在mongodb目录新建启动配置文件mongodb.conf:

dbpath=/data/mongodb/replset/data

logpath=data/mongodb/mongodb.log

logappend=true

fork=true

journal=true

oplogSize=2048

smallfiles=true

replSet=repset

port=27017

3.将mongodb.conf分别复制到集群其他的机器上对应的mongodb的目录下

4.分别在集群机器上启动mongodb

Mongod -f mongodb.conf

5.在集群任意一台机器上任意一台机器登陆mongodb;打开mongo终端,使用如下命令初始化:

use admin

config = {_id: 'repset', members: [{_id: 0, host: 'IP1:27017',priority:1},{_id: 1, host: 'IP2:27017',priority:2},{_id: 2, host: 'IP4:27017',priority:3},{_id: 3, host: 'IP4:27017',arbiterOnly:true}]}

rs.initiate(config);

rs.status(); #查看集群节点的状态

7.状态意义

“health” : 1, #代表机器正常

“stteStr” : “PRIMARY”, #代表是主节点,可读写,其中有以下几下状态:

STARTUP:刚加入到复制集中,配置还未加载

STARTUP2:配置已加载完,初始化状态

RECOVERING:正在恢复,不适用读

ARBITER: 仲裁者

DOWN:节点不可到达

UNKNOWN:未获取其他节点状态而不知是什么状态,一般发生在只有两个成员的架构,脑裂

REMOVED:移除复制集

ROLLBACK:数据回滚,在回滚结束时,转移到RECOVERING或SECONDARY状态

FATAL:出错。查看日志grep “replSet FATAL”找出错原因,重新做同步

PRIMARY:主节点

8.添加仲裁节点

rs.addArb("192.168.200.25:27017")

9.添加节点

rs.add("192.168.200.25:27017")

8.删除节点

Rs.remove("192.168.200.25:27017")

注意:

所有的Secondary都宕机、或则副本集中只剩下一个节点,则该节点只能为Secondary节点,也就意味着整个集群智能进行读操作而不能进行写操作,当其他的恢复时,之前的primary节点仍然是primary节点。

当某个节点宕机后重新启动该节点会有一段的时间(时间长短视集群的数据量和宕机时间而定)导致整个集群中所有节点都成为secondary而无法进行写操作(如果应用程序没有设置相应的ReadReference也可能不能进行读取操作)。

官方推荐的最小的副本集也应该具备一个primary节点和两个secondary节点。两个节点的副本集不具备真正的故障转移能力。

最新文章

  1. 遍历list、set、map和array
  2. Sass初使用
  3. iOS AFNetworking内存泄漏处理方法
  4. DD_belatedPNG.js解决透明PNG图片背景灰色问题
  5. 【AngularJS学习笔记】00 序
  6. MFC + CxImage 实现自绘半透明按钮
  7. linuxmint更改权限
  8. 微软 深度学习 cntk ,我目前见过 安装方式最简单的一个框架,2.0之后开始支持C# 咯
  9. maven仓库--搭建局域网私服(windows版)
  10. Mysql实现企业级数据库主从复制架构实战
  11. PHP 5 SimpleXML 函数
  12. Alibaba Java开发手册索引规约学习笔记
  13. sp_change_users_login 'Update_One', '用户名', '登录名';
  14. 套接字编程,创建套接字socket
  15. 开源通用型渲染工具-SwiftShader--OpenGL的替代者
  16. C# 程序自动重启的解决方法
  17. hihoCoder #1143 : 骨牌覆盖问题·一
  18. NGUI与EasyTouch结合使用
  19. 理解域名插槽:slot-scope
  20. maven编译插件版本配置案例

热门文章

  1. 单元测试如何保证了易用的API
  2. jquery实现跨域请求(复制)
  3. mysql 修改密码 开启远程访问权限
  4. Mysql实战之数据备份
  5. 【bzoj3329】Xorequ 数位dp+矩阵乘法
  6. 【Luogu】P2485计算器(快速幂,exgcd和Bsgs模板)
  7. BZOJ3260 跳 【组合数】
  8. 流浪者(rover)
  9. 深入学习MongoDB
  10. configurationmanager.getsection usage example.