MongoDB复制集搭建&主服务器模拟更换
发布时间:2023-09-25 15:51:00 所属栏目:系统 来源:
导读:Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数
Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。 复制集优势如下 让数据更安全; 高数据可用性(7*24); 灾难恢复; 无停机维护(如备份、索引重建、故障转移); 读缩放(额外的副本读取); 副本集对应用程序是透明的。 一、实验环境 MongoDB复制结构图: MongoDB复制集搭建&主服务器模拟切换 二、实验步骤 1.yum安装mongodb-org 2.创建mongodb多实例 3.配置复制集 4.增加和删除节点 5.主服务器模拟切换 三、实验内容 ---------------------------------yum安装monggodb-org------------------ vim /etc/yum.repos.d/mongodb.repo [mongodb-org] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc yum install mongodb-org -y 修改配置文件中的监听地址 vim /etc/mongod.conf net: port: 27017 bindIp: 0.0.0.0 #监听地址改为监听所有 systemctl start mongod.service ----------------------------------创建mongodb多实例--------------------- 创建数据文件路径和日志文件 mkdir -p /data/mongodb/mongodb{2,3,4} mkdir -p /data/mongodb/logs touch /data/mongodb/logs/mongodb2.log touch /data/mongodb/logs/mongodb3.log touch /data/mongodb/logs/mongodb4.log chmod 777 /data/mongodb/logs/*.log 修改多实例的配置文件 vim /etc/mongod.conf replication: replSetName: yandada #复制集名称在多实例中为同一名称 cp -p /etc/mongod.conf /etc/mongod2.conf cp -p /etc/mongod.conf /etc/mongod3.conf cp -p /etc/mongod.conf /etc/mongod4.conf vim /etc/mongod2.conf MongoDB复制集搭建&主服务器模拟切换 MongoDB复制集搭建&主服务器模拟切换 启动服务 mongod -f /etc/mongod.conf --shutdown mongod -f /etc/mongod.conf mongod -f /etc/mongod2.conf mongod -f /etc/mongod3.conf mongod -f /etc/mongod4.conf MongoDB复制集搭建&主服务器模拟切换 ------------------------------------------配置复制集------------------------- [root@yandada3 mongodb2]#mongo >cfg={"_id":"yandada","members": [{"_id":0,"host":"192.168.218.149:27017"},{"_id":1,"host":"192.168.218.149:27018"},{"_id":2,"host":"192.168.218.149:27019"}]} >rs.initiate(cfg) #初始化数据库 yandada:PRIMARY> rs.status() #查看复制集状态 注: 初始化数据库前数据库中若存在内容则会丢失 -------------------------------------增加和删除节点-------------------------- yandada:PRIMARY>rs.add("192.168.218.149:27020") #增加节点 yandada:PRIMARY>rs.remove("192.168.218.149:27020") #删除节点 --------------------------------主服务器模拟切换------------------------------ 模拟自动切换 mongod -f /etc/mongod.conf –shutdown mongo --port 27018 rs.status() "_id" : 1, "name" : "192.168.218.149:27018", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", #27018选举成主服务器 模拟手动切换 yandada:PRIMARY>rs.freeze(30) 30s不参加选举 yandada:PRIMARY>rs.stepdown(60,30) 60s维持从服务器身份,30s进行同步 yandada:SECONDARY> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐