Docker 搭建集群搭建集群MongoDB的实现步骤的实现步骤
主要介绍了Docker 搭建集群MongoDB的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一
定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言前言
由于公司业务需要,我们打算自己搭建 MongoDB 的服务,因为 MongoDB 的云数据库好贵,我们这次采用副本集的方式来搭建集
群,三台服务器,一主、一副、一仲裁
基本概念基本概念
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
二、创建跨主机网络二、创建跨主机网络
搭建集群我们肯定是跨主机通讯,要搭建 Overlay Network 网络,我们就要用到 Docker Swarm 这个工具了。Docker Swarm 是
Docker 内置的集群工具,它能够帮助我们更轻松地将服务部署到 Docker daemon 的集群之中。
评论0
最新资源