博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB ReplicaSet 集群搭建
阅读量:5732 次
发布时间:2019-06-18

本文共 1918 字,大约阅读时间需要 6 分钟。

说明

本文创建的集群的名字为test,在同一台机器上创建了三个mongo实例,端口不同即可。

安装mongodb的教程,之前总结过,请参考:

创建实例

# 本机默认原有mongodb.conf及相关文件夹了cp /etc/mongodb.conf /etc/mongodb2.confcp /etc/mongodb.conf /etc/mongodb3.confmkdir -p /data/{mongodb2,mongodb3}/logtouch /data/{mongodb2,mongodb3}/log/mongodb.log
# 配置文件mongodb.confdbpath=/data/mongodblogpath=/data/mongodb/log/mongodb.log pidfilepath =/data/mongodb/mongodb.pidlogappend=trueport=27017bind_ip = 0.0.0.0 # 支持远端访问fork=true # 后台运行#auth=true # 注释则关闭权限验证, 创建好用户再启动replSet=test

mongodb2.confmongodb3.conf也都要修改为对应的路径,比如端口号对应了27018/27019

创建实例:

mongod -f /etc/{mongodb.conf,mongodb2.conf,mongodb3.conf}

可以通过:

mongo --port 27017 # 进入对应端口号的实例

集群配置文件其他示例

# mongod.confsystemLog:  destination: file  logAppend: false  logRotate: rename  path: /data/mongodb/logs/mongod.log# Where and how to store data.storage:  dbPath: /data/mongodb/  journal:    enabled: true# network interfacesnet:  port: 27017#  bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.security:  authorization: enabled  keyFile: /home/app/mongodb/mongodb-keyfile#operationProfiling:replication:  replSetName: "cluster"#sharding:## Enterprise-Only Options#auditLog:#snmp:

集群初始化

rs.initiate()

添加节点

rs.addArb("localhost:27018")

增加仲裁(arbiter)节点

To determine the current primary, use db.isMaster() while connected to any member of the replica set.

可以使用db.isMaster()函数来查看是否是主节点。

登录主节点:

rs.addArb("localhost:27019")

参考:

移除

rs.remove("localhost:27019")

说明

如果要实现一定容灾的话,至少需要三个节点来做replica set,当其中一个down掉之后,另外两个会重新选举一个primary。但是如果其中两个都down掉的话,另外一台不管之前是primary还是secondary,都会降级为secondary,这时mongodb会不可写。

避免这种情况更简单的办法是加入一个arbiter节点,只负责选举,不负责数据存储。这样一来结构就变成了primary,secondary,arbiter三个角色,任何一个down掉的话,都不会影响mongodb的使用,当然,如果两个都down掉那就没辙了

参考:

FAQ

Q1:URI无法连接

高版本的MongoDB需要加上replicaSet参数才行。

mongodb://localhost,localhost:27018,localhost:27019/test?replicaSet=test

参考:

参考

转载于:https://www.cnblogs.com/michael-xiang/p/10467404.html

你可能感兴趣的文章
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
nginx+tomcat实现负载均衡
查看>>
mysql 行转列列转行
查看>>
《设计模式系列》---桥接模式
查看>>
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Linux中文件颜色所代表的属性和颜色
查看>>
Redrain duilib中事件委托存在的问题
查看>>
43、我的C#学习笔记9
查看>>
网站建表实践及优化
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作...
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
[Linux]Web性能测试http_load
查看>>
Airbnb 宣布放弃使用 React Native,回归使用原生技术
查看>>
中外RFID技术差异何在?
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
python之路---进程
查看>>