MongoDB副本集搭建

这篇具有很好参考价值的文章主要介绍了MongoDB副本集搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版本

> db.version()
4.4.24
> 

集群相关命令

rs.status()

## id 要和配置文件定义的replSetName一致
cfg={_id:"knight",members:[{_id:0,host:'182.27.239.17:27017',priority:1}]}

##  id 要和配置文件定义的replSetName一致
cfg={_id:"knight",members:[{_id:0,host:'10.1.1.32:27017',priority:1},{_id:1,host:'10.1.1.33:27017',priority:0,votes:0}]}

##
cfg={_id:"knight",members:[{_id:0,host:'10.1.1.32:27017',priority:1},{_id:1,host:'10.1.1.33:27017',priority:0}]}

## 
rs.initiate(cfg)  
 
## 查看配置
rs.conf()

###
rs.reconfig(config,{force:true})


### 查看配置
rs.config()
rs.config().members

参考

##
https://blog.csdn.net/GotFull/article/details/127034877


### 副本集无效
https://www.coder.work/article/544115

配置文件

systemLog:
   destination: file
   path: "/opt/app/mongodb_cluster/log/m27071.log"
   logAppend: true
processManagement:
   fork: true
   pidFilePath: "/opt/app/mongodb_cluster/pid/m27071.pid"
net:
   port: 27017
   bindIp: 0.0.0.0
#   http:
#     enabled: true
#     RESTInterfaceEnabled: true

storage:
   dbPath: "/opt/app/data/27071"
   engine: wiredTiger
   journal:
      enabled: true
   directoryPerDB: true
   wiredTiger:
      engineConfig:
          cacheSizeGB: 1
          directoryForIndexes: true

# 定义复制集的名称
replication:
   oplogSizeMB: 800
   replSetName: "rs"

集群配置

初始化

在主节点上执行命令如下:文章来源地址https://www.toymoban.com/news/detail-699440.html

# 执行命令
rs.initiate()

####
#若客户端返回信息中字段OK的值为1,说明成功初始化副本集。
#完成初始化命令,当前节点默认处于"SECONDARY(副本节点)"状态.
###等待几秒后,按回车键。自动选举自己为PRIMARY(主节点)
添加成员节点
## 先默认初始化
rs.initiate()   

## 
cfg={_id:"xbrother",members:[{_id:0,host:'10.1.1.32:27017',priority:1},{_id:1,host:'10.1.1.33:27017',priority:0}]}

##
rs.initiate(cfg)   
检查和测试
# 检查状态
rs.status()

## 主节点写入数据测试
rs:PRIMARY> db.user.insert({"name":"knight","age":30})
WriteResult({ "nInserted" : 1 })
rs:PRIMARY> db.user.find()
{ "_id" : ObjectId("64f9b892e61da94af298a9d3"), "name" : "knight", "age" : 30 }
rs:PRIMARY> 



### 从节点查询数据
#### 从库开启读
rs:SECONDARY> rs.secondaryOk()

##
rs:SECONDARY> use test
switched to db test
rs:SECONDARY> db.user.find()
{ "_id" : ObjectId("64f9b892e61da94af298a9d3"), "name" : "knight", "age" : 30 }
rs:SECONDARY> 

取消双机MongoDB

##
rs.remove("mongod3.example.net:27017")

# 重新加入双机
rs.reconfig(cfg)

到了这里,关于MongoDB副本集搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证

    副本集 MongoDB副本集(Replica Set)是一组维护相同数据集的 MongoDB 实例,它可以提供数据的冗余和高可用性。 副本集由一个主节点(Primary)和多个从节点(Secondary)组成。 客户端所有写操作都会发送到主节点,主节点会记录oplog,然后将写操作同步到从节点。 从节点可以进行

    2024年02月05日
    浏览(34)
  • 【MongoDB】四、MongoDB副本集的部署

           能够通过部署副本集理解副本集机制,从而解决大数据项目中数据丢失的问题 环境准备:根据表中的信息完成3台MongoDB服务器的部署(XXX是姓名拼音首字母)。 (环境准备在专栏下单独一篇文章中) (1)分别在三台服务器XXX01、XXX02和XXX03上以副本集模式启动Mong

    2024年02月11日
    浏览(31)
  • 使用 docker 创建 mongodb 副本集, 和调整副本集优先级

    === mongod 本地创建副本集 mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost,hostname(s)|ip address(es) –dbpath 指向数据存放地址 –replSet 后面为 副本集的名。 rs.initiate() 启动新的副本集 rs.conf() 查看副本集的配置 rs.status() 查看副本集的状态 rs.add() 将成员添加到副本集

    2024年02月09日
    浏览(30)
  • 52.MongoDB复制(副本)集实战及其原理分析

    高可用 在生产环境中,不建议使用单机版的MongoDB服务器。 Mongodb复制集(Replication Set)由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的

    2024年02月06日
    浏览(29)
  • k8s部署mongodb-sharded7.X集群(多副本集)

    默认副本数较多。我修改为3+3 搜索replicaCount 修改 最后安装 再分享一个web客户端

    2024年02月03日
    浏览(26)
  • CentOS 8自动化安装MongoDB并安装和实验master-slave集群、副本集群(Replica Set)、分片集群(Sharding)

    注意实验使用的是ARM架构的CentOS 8 虚拟机 首先,更新系统并安装必要的依赖项: 添加 MongoDB 官方仓库: 创建一个新的仓库文件 /etc/yum.repos.d/mongodb-org.repo : 将以下内容添加到文件中,保存并退出: 使用nano编辑器打开/etc/yum.repos.d/mongodb-org.repo文件后,按下 Ctrl + X 组合键退出

    2023年04月22日
    浏览(29)
  • MongoDB分片集群搭建

    MongoDB 有三种集群架构模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。 Master-Slaver 是一种主从复制的模式,目前已经不推荐使用 ReplicaSet模式取代了Master-Slaver模式,是一种互为主从的关系。Replica Set 将数据复制多份保存,不同服务器保存同一

    2024年01月19日
    浏览(35)
  • 使用docker搭建mongodb

    使用 Docker CLI 搭建 MongoDB 1. 运行 MongoDB 容器 首先,我们使用以下命令来启动一个 MongoDB 容器: 参数解释: -itd : 这三个参数通常一起使用, i 表示交互式模式, t 分配一个伪终端, d 表示后台运行。 --name mongodb_comm : 为容器指定一个名字 mongodb_comm ,方便后续的操作和管理。

    2024年03月18日
    浏览(64)
  • mongodb集群搭建

    下载mongodb-linux-x86_64-rhel70-5.0.18 vi mongodb.conf 导入环境变量中 以上操作在每个机器都做一遍 之后选择一个作为主节点,启动mongodb 启动: mongod -f ../conf/mongodb.conf --replSet \\\"grap\\\" 每个机器都做一边,最后连接一台机器 Mongo进去数据库中,(注意一定不要先执行rs.initiate(),否则后

    2024年02月16日
    浏览(32)
  • 在Mac上搭建MongoDB环境

    最近工作中需要装MongoDB环境,搭建过程中遇到了一些问题,在这里记录一下安装MongoDB环境的方法以及问题的解决方法。有两种安装MongoDB的方法:brew安装和手动安装。 目录 使用Homebrew安装MongoDB 手动安装MongoDB(不使用Homebrew) 两种安装方式对应的卸载方法 执行mongo命令提示

    2024年02月19日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包