当前位置: 首页 > news >正文

MongoDB副本集配置和创建

副本集有三类角色:master(primary),slave(secondary),仲裁服务器。

primary是主,只有primary能写入,secondary无法插入数据,且需要声明是slave才能查看数据

一般生产搞三个服务器做一个master和两个slave,再来一个服务器做仲裁节点服务器,说是有仲裁服务器才可以自动切换,但是我没有也可以的,要是不信,也可以自己试试,呵呵。

---副本集搭建,安装软件和单实例一模一样,下面是配置文件,三台服务器用不同的端口:

systemLog:

  destination: file

  logAppend: true

  path: /data/mongodb-cluster/27017/mongodb.log

storage:

  dbPath: /data/mongodb-cluster/27017

  journal:

    enabled: true

processManagement:

  fork: true

net:

  port: 27017

  bindIp: 0.0.0.0

replication:  

  replSetName: zmh

另外两台的配置就省略了,只需要改path和端口信息就行。

---启动三个mongodb服务器,需要对应更改端口、数据目录、日志路径

/usr/local/mongodb/bin/mongod -f /data/mongodb-cluster/27017/mongodb.conf

/usr/local/mongodb/bin/mongod -f /data/mongodb-cluster/27018/mongodb.conf

/usr/local/mongodb/bin/mongod -f /data/mongodb-cluster/27019/mongodb.conf

---在主节点写入所有节点的信息,注意了,conf文件的replSetName需要和config _id:"zmh"保持一致

config = { _id:"zmh", members:[

{_id:0,host:"192.167.100.181:27017"},

{_id:1,host:"192.167.100.182:27018"},

{_id:2,host:"192.167.100.183:27019"}]

}

---初始化副本集

use admin

rs.initiate(config)

---查看副本集状态

rs.status()

---完成初始化后,重启两个slave节点的mongo进程

----副本集同步测试

主节点插入数据:

use test

db.myuser.insert( {userid: 1} )

----从节点查看数据:

rs.slaveOk()    //SECONDARY需要声明是slave才能查看数据

db.myuser.find()

{ "_id" : ObjectId("65406be329de1b2fafebfa56"), "userid" : 1 }

---查看slave的延时情况

rs.printSlaveReplicationInfo()

注意:优化参数要保持一致

http://www.lryc.cn/news/229140.html

相关文章:

  • 使用 `open-uri.with_proxy` 方法打开网页
  • 数据库表的设计——范式
  • Brute Force
  • HTML简单介绍
  • 【Java笔试强训】Day10(CM62 井字棋、HJ87 密码强度等级)
  • C语言求数组中出现次数最多的元素
  • 【Python Opencv】Opencv画图形
  • 了解防抖和节流:提升前端交互体验的实用策略
  • SQL学习之增删改查
  • Ansible角色定制实例
  • ElastaticSearch--- es多字段聚合
  • 本周Github有趣开源项目:Rspress等6个
  • 【华为OD题库-016】字符串摘要-Java
  • 生成式AI - Knowledge Graph Prompting:一种基于大模型的多文档问答方法
  • 深度学习AIR-PolSAR-Seg图像数据预处理
  • 求最大公约数math.gcd()
  • 数据结构之队列
  • MySQL数据库——存储过程-循环(while、repeat、loop)
  • Django路由
  • 头歌实践平台-数据结构-二叉树及其应用
  • 2023.11.11通过html内置“required-star“添加一个红色的星号来表示必填项
  • pcie【C#】
  • 西门子精智屏数据记录U盘插拔问题总结
  • (论文阅读27/100)Deep Filter Banks for Texture Recognition and Segmentation
  • ARMday06(串口)
  • Rust字符串详解
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • Window安装MongoDB
  • 20.有效的括号(LeetCode)
  • Vue3组件传参之Mitt插件方式