-1

我的程序是用python编写的。我使用 couchdb-python 进行数据存储。但是当程序存储数据时,会报错:

File "/home/koc/dnsReputation/dnsDatabase.py", line 45, in checkHashValue
  if len(result) == 0:
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 987, in __len__
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 1003, in rows
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 990, in _fetch
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 914, in _exec
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 399, in post_json
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 381, in post
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 419, in _request
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 310, in request
couchdb.http.ServerError: (500, ('error', 'system_limit'))

我不明白为什么。任何答案都是适用的。谢谢

13.07 编辑:

在 couch.log 中,这些行是这样写的:

{error_report,<0.32.0>,
                    {<0.125.0>,crash_report,
                     [[{initial_call,
                           {mochiweb_socket_server,init,['Argument__1']}},
                       {pid,<0.125.0>},
                       {registered_name,[]},
                       {error_info,
                           {exit,eaddrinuse,
                               [{gen_server,init_it,6},
                                {proc_lib,init_p_do_apply,3}]}},
                       {ancestors,
                           [couch_secondary_services,couch_server_sup,
                            <0.33.0>]},
                       {messages,[]},
                       {links,[<0.95.0>]},
                       {dictionary,[]},
                       {trap_exit,true},
                       {status,running},
                       {heap_size,987},
                       {stack_size,24},
                       {reductions,460}],
                      []]}}
4

1 回答 1

1

检查您的 couchdb 日志以获取更多信息 - 听起来您已经达到了此错误报告中记录的内部 Erlang 限制。

Erlang 有 1024 个端口的默认限制,其中每个 FD、tcp 连接和链接的驱动程序使用一个端口。你似乎已经超过了这个。您可以使用 ERL_MAX_PORTS 环境变量在运行时更改它。

附加日志信息后更新:来自eaddrinuse您的日志使您看起来有一些端口冲突或缺少查看服务器在您配置的端口上运行的权限。检查您的 couchdb 端口配置并检查系统上的其他任何东西是否已经在这些端口上运行。

于 2012-07-12T00:26:20.813 回答