【问题标题】:Mongodb error failed 24 : Too many open files : Using pymongoMongodb错误失败24:打开的文件太多:使用pymongo
【发布时间】:2016-01-08 07:35:38
【问题描述】:

我的代码造成了相当大的流量,其中包含大量查找、更新、map reduce 和 createIndex 操作,所以我不确定哪一个可能是罪魁祸首,但我收到以下错误:

_create_global_word_frequency_collection
    full_response=True)
  File "/Users/arj/anaconda/lib/python2.7/site-packages/pymongo/collection.py", line 1857, in map_reduce
    sock_info, cmd, slave_ok, ReadPreference.PRIMARY)
  File "/Users/arj/anaconda/lib/python2.7/site-packages/pymongo/collection.py", line 205, in _command
    read_concern=read_concern)
  File "/Users/arj/anaconda/lib/python2.7/site-packages/pymongo/pool.py", line 211, in command
    read_concern)
  File "/Users/arj/anaconda/lib/python2.7/site-packages/pymongo/network.py", line 100, in command
    helpers._check_command_response(response_doc, msg, allowable_errors)
  File "/Users/arj/anaconda/lib/python2.7/site-packages/pymongo/helpers.py", line 196, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: command SON([('mapreduce', u'verbatimterms'), ('map', Code('\n                    function(){\n                        this.terms.forEach(function(item){\n                        emit(item, 1)\n                    })\n                }\n                ', {})), ('reduce', Code('\n                    function(key, counts){\n                        return Array.sum(counts)\n                    }\n                ', {})), ('out', SON([('replace', 'reconversations_topic_3'), ('db', 'wcterms')])), ('query', {'topic': 'reconversations_topic_3'})]) on namespace indexes.$cmd failed: 24: Too many open files

出现这种错误的原因可能是什么?

【问题讨论】:

    标签: mongodb pymongo


    【解决方案1】:

    根据文档,您将增加ulimit。您可以通过在系统提示符下运行以下命令来做到这一点。我使用了推荐的值,但如果需要,您可以增加它。

    ulimit -n 64000
    

    运行此命令后,需要重启 MongoDB 服务。

    【讨论】:

    • 我在 Mac El Captial 上。我认为我可以定义 ulimit 的大小似乎有限制,在执行 ulimit -n 64000 时,我收到以下错误:/usr/bin/ulimit: line 4: ulimit: open files: cannot modify limit: Invalid论据
    • 谢谢雅科。你摇滚。我的服务器在 debian 中,所以您的解决方案运行良好。
    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 2015-09-26
    • 2015-11-30
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    相关资源
    最近更新 更多