Docker 如何实现搭建MongoDB集群?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联主营兰坪网站建设的网络公司,主营网站建设方案,
重庆APP开发,兰坪h5
小程序定制开发搭建,兰坪网站营销推广欢迎兰坪等地区企业咨询
基本概念
Replica Set 副本集:一个副本集就是一组 MongoDB 实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成
- 主节点(master):主节点接收所有写入操作。主节点将对其数据集所做的所有更改记录到其 oplog。
- 副节点(secondary):复制主节点的 oplog 并将操作应用到其数据集,如果主节点不可用,一个合格的副节点将被选为新的主节点。
- 仲裁节点(arbiter):负载选举,当主节点不可用,它将从副节点中选一个作为主节点。
Sharding 分片:
Master-slave 主备
- MongoDB 4.0 以上版本运行时提示:[main] Master/slave replication is no longer supported,也就是 MongoDB 4.0 后不在支持主从复制
一、环境准备
使用 CentOS 7.6 64bit 系统,安装 Docker、Docker-compose、Docker-Swarm
二、生成 KeyFile
- MongoDB 使用 KeyFile 认证,副本集中的每个 MongoDB 实例使用 KeyFile 内容作为认证其他成员的共享密码。MongoDB 实例只有拥有正确的 KeyFile 才可以加入副本集。
- keyFile 的内容必须是 6 到 1024 个字符的长度,且副本集所有成员的 KeyFile 内容必须相同。
- 有一点要注意是的:在 UNIX 系统中,KeyFile 必须没有组权限或完全权限(也就是权限要设置成 X00 的形式)。Windows 系统中,keyFile 权限没有被检查。
- 可以使用任意方法生成 keyFile。例如,如下操作使用 openssl 生成复杂的随机的 1024 个字符串。然后使用 chmod 修改文件权限,只给文件拥有者提供读权限。
- 这是 MongoDB 官方推荐 keyFile 的生成方式:
# 400权限是要保证安全性,否则mongod启动会报错
openssl rand -base64 756 > mongodb.key
chmod 400 mongodb.key
分享文章:Docker如何实现搭建MongoDB集群-创新互联
标题路径:
http://chengdu.cdxwcx.cn/article/cohohp.html