Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写入时获取MongoDB错误-超出配额_Mongodb_Mongodb Java_Quota - Fatal编程技术网

写入时获取MongoDB错误-超出配额

写入时获取MongoDB错误-超出配额,mongodb,mongodb-java,quota,Mongodb,Mongodb Java,Quota,我有一个JAVA应用程序,可以写入复制集。我使用3.0.7版本的MongoDB服务器。Java的mongo驱动程序是3.0.4。 它工作正常,但现在在所有写入操作中都出现以下错误: com.mongodb.MongoWriteException: quota exceeded at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:487) at com.mongodb.Mo

我有一个JAVA应用程序,可以写入复制集。我使用3.0.7版本的MongoDB服务器。Java的mongo驱动程序是3.0.4。 它工作正常,但现在在所有写入操作中都出现以下错误:

com.mongodb.MongoWriteException: quota exceeded
at    com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:487)
at com.mongodb.MongoCollectionImpl.update(MongoCollectionImpl.java:474)
at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:325)
我已经查看了MongoDB配置文档,但在mongod.conf中没有设置任何配额限制。我也不使用小文件

但我认为我的文件大小正在受到限制。my DB的文件大小如下所示:

total 6240548
-rw------- 1 mongod mongod   67108864 Dec  8 16:55 2015.0
-rw------- 1 mongod mongod  134217728 Dec  8 12:15 2015.1
-rw------- 1 mongod mongod  268435456 Dec  8 12:15 2015.2
-rw------- 1 mongod mongod  536870912 Dec  8 12:15 2015.3
-rw------- 1 mongod mongod 1073741824 Dec  8 12:15 2015.4
-rw------- 1 mongod mongod 2146435072 Dec  8 16:06 2015.5
-rw------- 1 mongod mongod 2146435072 Dec  8 16:06 2015.6
-rw------- 1 mongod mongod   16777216 Dec  8 16:55 2015.ns
drwxr-xr-x 2 mongod mongod       4096 Dec  7 09:14 _tmp
    storage:
       dbPath: /data/mongoDB
       indexBuildRetry: true
       repairPath: /data/mongoDB/repair
       journal:
          enabled: true
       directoryPerDB: true
       syncPeriodSecs: 60
       engine: mmapv1
       mmapv1:
          preallocDataFiles: false
          nsSize: 16
          quota:
             enforced: false
             maxFilesPerDB: 8
          smallFiles: false
          journal:
             debugFlags: 0
             commitIntervalMs: 100
/etc/mongod.conf文件如下:

total 6240548
-rw------- 1 mongod mongod   67108864 Dec  8 16:55 2015.0
-rw------- 1 mongod mongod  134217728 Dec  8 12:15 2015.1
-rw------- 1 mongod mongod  268435456 Dec  8 12:15 2015.2
-rw------- 1 mongod mongod  536870912 Dec  8 12:15 2015.3
-rw------- 1 mongod mongod 1073741824 Dec  8 12:15 2015.4
-rw------- 1 mongod mongod 2146435072 Dec  8 16:06 2015.5
-rw------- 1 mongod mongod 2146435072 Dec  8 16:06 2015.6
-rw------- 1 mongod mongod   16777216 Dec  8 16:55 2015.ns
drwxr-xr-x 2 mongod mongod       4096 Dec  7 09:14 _tmp
    storage:
       dbPath: /data/mongoDB
       indexBuildRetry: true
       repairPath: /data/mongoDB/repair
       journal:
          enabled: true
       directoryPerDB: true
       syncPeriodSecs: 60
       engine: mmapv1
       mmapv1:
          preallocDataFiles: false
          nsSize: 16
          quota:
             enforced: false
             maxFilesPerDB: 8
          smallFiles: false
          journal:
             debugFlags: 0
             commitIntervalMs: 100
会出什么问题

PS:/etc/mongod.conf正在使用

mongod   10864     1  0 Nov16 ?        03:10:34 /usr/bin/mongod -f /etc/mongod.conf
Update-1。通过将集合名称更改为新集合,尝试了相同的更新。成功了!但是他还没有解释这个问题。2.将java驱动程序更改为3.0.3,这没有帮助

更新-2:(12/9)添加集合统计信息,因为这与集合本身和java驱动程序有关。如果有什么不对劲,请告诉我

    {
        "ns" : "2015.events",
        "count" : 827054,
        "size" : 3814018,
        "avgObjSize" : 4722,
        "numExtents" : 22,
        "extents" : [
            {
                "len" : 8192,
                "loc: " : {
                    "file" : 0,
                    "offset" : 20480
                }
            },
            {
                "len" : 32768,
                "loc: " : {
                    "file" : 0,
                    "offset" : 2134016
                }
            },
            {
                "len" : 131072,
                "loc: " : {
                    "file" : 0,
                    "offset" : 2166784
                }
            },
            {
                "len" : 524288,
                "loc: " : {
                    "file" : 0,
                    "offset" : 2297856
                }
            },
            {
                "len" : 2097152,
                "loc: " : {
                    "file" : 0,
                    "offset" : 2822144
                }
            },
            {
                "len" : 8388608,
                "loc: " : {
                    "file" : 0,
                    "offset" : 4919296
                }
            },
            {
                "len" : 11325440,
                "loc: " : {
                    "file" : 0,
                    "offset" : 14356480
                }
            },
            {
                "len" : 15290368,
                "loc: " : {
                    "file" : 0,
                    "offset" : 28827648
                }
            },
            {
                "len" : 20643840,
                "loc: " : {
                    "file" : 0,
                    "offset" : 44118016
                }
            },
            {
                "len" : 27869184,
                "loc: " : {
                    "file" : 1,
                    "offset" : 8192
                }
            },
            {
                "len" : 37625856,
                "loc: " : {
                    "file" : 1,
                    "offset" : 36265984
                }
            },
            {
                "len" : 50798592,
                "loc: " : {
                    "file" : 1,
                    "offset" : 78086144
                }
            },
            {
                "len" : 68579328,
                "loc: " : {
                    "file" : 2,
                    "offset" : 8396800
                }
            },
            {
                "len" : 92585984,
                "loc: " : {
                    "file" : 2,
                    "offset" : 93753344
                }
            },
            {
                "len" : 124993536,
                "loc: " : {
                    "file" : 3,
                    "offset" : 8192
                }
            },
            {
                "len" : 168742912,
                "loc: " : {
                    "file" : 3,
                    "offset" : 125001728
                }
            },
            {
                "len" : 227803136,
                "loc: " : {
                    "file" : 4,
                    "offset" : 8192
                }
            },
            {
                "len" : 307535872,
                "loc: " : {
                    "file" : 4,
                    "offset" : 239136768
                }
            },
            {
                "len" : 415174656,
                "loc: " : {
                    "file" : 4,
                    "offset" : 595939328
                }
            },
            {
                "len" : 560488448,
                "loc: " : {
                    "file" : 5,
                    "offset" : 8192
                }
            },
            {
                "len" : 756662272,
                "loc: " : {
                    "file" : 5,
                    "offset" : 607756288
                }
            },
            {
                "len" : 1021497344,
                "loc: " : {
                    "file" : 6,
                    "offset" : 8192
                }
            }
        ],
        "storageSize" : 3826952,
        "lastExtentSize" : 997556,
        "paddingFactor" : 1,
        "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.",
        "userFlags" : 1,
        "capped" : false,
        "nindexes" : 8,
        "indexDetails" : {

        },
        "totalIndexSize" : 348270,
        "indexSizes" : {
            "_id_" : 47123,
            "remoteRequest.uri_1" : 76969,
            "transactionId_1" : 59611,
            "startTime_1" : 39027,
            "endTime_1" : 35235,
            "remoteRequest.queryParams.q_1" : 20328,
            "remoteRequest.queryParams.fq_1" : 38285,
            "elapsedTimeInNanos_1" : 31689
        },
        "ok" : 1
    }

您的
mongod.conf
为每个数据库启用了一个。基于该
mongod.conf
文件,您将无法创建超过8个数据库文件,这将您的最大存储空间限制在6.4 GB左右。您提到您可以通过使用新的集合来解决这个问题,因此我对您的数据目录现在是什么样子感兴趣。我不希望您能够绕过这个硬限制,但是由于内部数据结构的原因,可能会在短时间内“绕过”它

您可以通过运行

此输出将告诉您数据库中实际有多少数据,以及分配的存储量。这些数字将不匹配,这是预期的,因为文档包含用于填充的空白空间


我的下一个问题是,您是否有理由人为限制您的
mongod
可以分配的存储空间量?也许a更适合你的需要?如果你能扩展你的使用范围,我也许可以给你一个更好的答案。

你确定使用了
/etc/mongod.conf
ps ax | grep[m]ongod
的输出是什么?请通过添加此信息。您能否通过mongo shell进行插入/更新,并查看是否收到相同的消息?如果是这样,您是否也可以发布MongoShell的错误代码。要检查的另一件事是您是否有可用的磁盘空间?谢谢,我已经做完了。壳插入工作。还有大量可用的磁盘空间。我被难住了。要更改驱动程序,看看是否有帮助。@MasterChief您能发布数据目录的更新的
ls
输出吗?@Pete,您是指我上面提供的列表吗?除了时间戳之外,这些数字没有任何变化。行为显然是这样的,这是我检查的第一件事。我不需要封顶。我显然错过了什么。我的Conf文件显示配额为false。配额:强制:false maxFilesPerDB:8 smallFiles:false所以请告诉我如何启用它。我需要立即禁用它。:-)我的建议是,删除所有未使用的设置,并循环使用
mongod
,以确保它们未被使用。需要说明的是,我从未在未启用配额时看到此消息。很抱歉延迟。我们必须首先在测试环境中进行模拟。是的,删除设置有效。作为预防措施,我们也从头开始重建数据库。看起来代码中有一个bug,尽管显式设置为exforced:false,但它仍在应用配额限制。