首页 > 解决方案 > 带有 Docker 的 Mongo 数据库上的 MapReduce 最终连接关闭

问题描述

我在 docker 容器上有一个 Mongo 数据库。我只有一个收藏。关于我的对象的一些数据:

Data Size   1.96 GB
Storage Size    481 MB
Avg Obj Size    1.13 MB
Objects     1740
Index Size  77.8 KB

当我在这个集合上执行 mapReduce 函数时,每次都会关闭连接,无论是在 mongo shell 上还是在我的 python 驱动程序 (PyMongo) 上。我不认为它与驱动程序相关联,因为当我请求一个较小的集合(例如 10 个对象),或者当我对 MapReduce 作业设置限制(即最多 1000 个)时,它工作正常。那么为什么它不适用于完整的集合呢?

一些附加信息:

version: '3.1'

services:
  mongo:
    image: mongo
    ports:
      - 27017:27017
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example

Docker 资源:CPU:4 内存:2.00GB 交换:1GB

标签: mongodbdocker

解决方案


connection closed通过任意增加我的 CPU、内存和交换 docker 资源(CPU:5 内存:8.00GB 交换:1.5GB)解决了我的错误。有人知道为什么它现在有效吗?


推荐阅读