【问题记录】配置mongodb副本集实现数据流实时获取

前言

由于想用nodejs实现实时获取Mongodb数据流,但是报错显示需要有副本集的mongodb才能实现实时获取信息流,因此特此进行副本集的配置。另外由于笔者使用的是Windows开发,虚拟机上面的Ubuntu20.04的apt源又被整坏了,因此只能寻求通过docker来实现副本集的部署。

操作步骤

首先默认已经安装过docker desktop,没有安装过的可以参考这篇博客

1. docker拉取mongodb镜像

!注:一定要给镜像分配数据卷,要不然就会在启动的时候启动到一半停下来中止。
首先创建一个文件名为docker-compose.yml的文件,内容如下:

version: '3.8'
services:
  mongo1:
    image: mongo:latest
    container_name: mongo1
    ports:
      - 27017:27017
    volumes:
      - mongo1_data:/data/db
    command: ["mongod", "--replSet", "rs0", "--bind_ip_all"]

  mongo2:
    image: mongo:latest
    container_name: mongo2
    ports:
      - 27018:27017
    volumes:
      - mongo2_data:/data/db
    command: ["mongod", "--replSet", "rs0", "--bind_ip_all"]

  mongo3:
    image: mongo:latest
    container_name: mongo3
    ports:
      - 27019:27017
    volumes:
      - mongo3_data:/data/db
    command: ["mongod", "--replSet", "rs0", "--bind_ip_all"]

volumes:
  mongo1_data:
  mongo2_data:
  mongo3_data:

然后执行下面的命令生成镜像并启动容器:

docker-compose up -d

2. 连接mongo1镜像的mongosh

docker exec -it mongo1 mongo

在这里插入图片描述

3. 在mongosh中初始化副本集

在mongosh中输入如下命令:

rs.initiate(
  {
    _id: "rs0",
    members: [
      { _id: 0, host: "mongo1:27017" },
      { _id: 1, host: "mongo2:27017" },
      { _id: 2, host: "mongo3:27017" }
    ]
  }
)

输出:
在这里插入图片描述
连接成功以后打开Docker Desktop就能看到连接成功以后的mongodb副本集了。
在这里插入图片描述

相关推荐

  1. MongoDB】rs.add 将成员添加到副本

    2024-07-15 20:24:04       30 阅读
  2. 数据库修复实例2(副本出入口修复)

    2024-07-15 20:24:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 20:24:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 20:24:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 20:24:04       57 阅读
  4. Python语言-面向对象

    2024-07-15 20:24:04       68 阅读

热门阅读

  1. C++ --> 类和对象(三)

    2024-07-15 20:24:04       23 阅读
  2. 用Python爬虫能实现什么?得到什么?

    2024-07-15 20:24:04       21 阅读
  3. JVM堆内存的结构,YGC,FGC的原理

    2024-07-15 20:24:04       21 阅读
  4. Spring boot 2.0 升级到 3.3.1 的相关问题 (二)

    2024-07-15 20:24:04       21 阅读
  5. LeetCode题练习与总结:寻找峰值--162

    2024-07-15 20:24:04       17 阅读
  6. Mysql数据库(一)

    2024-07-15 20:24:04       25 阅读
  7. (leetcode学习)16. 最接近的三数之和

    2024-07-15 20:24:04       19 阅读
  8. /EtherCATInfo/Descriptions/Devices/Device/SubDevice/@Hideable

    2024-07-15 20:24:04       16 阅读
  9. 零基础自学爬虫技术该从哪里开始入手?

    2024-07-15 20:24:04       19 阅读