Couchdb没有启动。 - 未能启动Mochiweb:eaddrinuse

时间:2015-05-14 09:28:54

标签: erlang couchdb port ubuntu-10.04 couchdb-futon

我在ubuntu 10.04上配置并安装了couchdb 1.6.1。虽然配置和安装它说成功完成了。但是当我启动couchdb时,它会给我错误。

首先开始..

Apache CouchDB 1.6.1 (LogLevel=info) is starting.

Apache CouchDB has started. Time to relax.

**[info] [<0.32.0>] Apache CouchDB has started on http://127.0.0.1:5984/**

重新开始时

 Apache CouchDB 1.6.1 (LogLevel=info) is starting.

 **Failure to start Mochiweb: eaddrinuse**

[error] [<0.127.0>] {error_report,<0.31.0>,
                    {<0.127.0>,crash_report,[[{initial_call,
                           {mochiweb_socket_server,init,['Argument__1']}},
                       {pid,<0.127.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.32.0>]},
                       {messages,[]},
                       {links,[<0.95.0>]},
                       {dictionary,[]},
                       {trap_exit,true},
                       {status,running},
                       {heap_size,987},
                       {stack_size,24},
                       {reductions,467}],
                      []]}}
{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/usr/local/etc/couchdb/default.ini","/usr/local/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{application_master,start_it_old,4}]}}}}}},[{couch,start,0},{init,start_it,1},{init,start_em,1}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
在local.ini中的

我改变了 端口到5983,并且从127.0.0.1 到ip到0.0.0.0 什么都没有帮助

当我运行sudo netstat -tulpn

我得到以下输出

tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 21688 / beam.smp

couchdb -s 表示 Apache CouchDB未运行

提前致谢

5 个答案:

答案 0 :(得分:2)

如果您因为最近升级CouchDB 2.0而来到这里,请确保更新了local.ini配置文件。 Web服务器配置的部分已更改(名称已从httpd更改为chttpd)。因此,端口指令没有被接收,它默认为80,这与Web服务器相同。

答案 1 :(得分:2)

根据提供的错误消息条目,CouchDB已经启动并且已经完成。使用端口5984在您的机器/服务器上运行

**Failure to start Mochiweb: eaddrinuse**

这就是为什么当你在基于Linux的机器上运行 sudo netstat -tulpn 命令时,你得到以下输出:

tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 21688/beam.smp

解决方案:

couchdb不是您尝试使用它的方式的服务脚本。它只是试图重新启动并失败,因为一个已经在运行(erlang beam.smp进程仍在运行)。

检查&amp;使用以下命令终止所有CouchDB进程:

/bin/ps aux | grep couchdb | grep -v grep | awk '{print $2}' | xargs killl

使用root linux user:

使用以下命令再次启动CouchDB
service couchdb start

注意:

  • 当您输入 couchdb -s 命令时,您收到的信息如Apache CouchDB is not running.

  • 当您输入 couchdb -d 命令时,您收到的信息如Apache CouchDB is not running.

上述输出的原因,您正在执行上述命令作为非特权Linux用户帐户。

尝试执行上述命令root或运行linux用户帐户的couchDB。

答案 2 :(得分:0)

即使我遇到同样的问题。我刚刚做了..

br.submit()

sudo apt-get update

注意:我刚刚重新安装了couchdb,现在它工作正常。在重新安装之前我做了以下配置。

安装ICU并使用locate查找icu-config命令:

sudo apt-get install couchdb

有关详细信息,请参阅以下链接

https://wiki.apache.org/couchdb/Error_messages

答案 3 :(得分:0)

我面临同样的问题......

幸运的是,Couchdb错误消息文档中有一个修复程序。 https://wiki.apache.org/couchdb/Error_messages

<强>问题

$ couchdb
Apache CouchDB 0.9.0a747640(LogLevel = info)正在启动。 未能启动Mochiweb:eaddrinuse {&#34; init终止于do_boot&#34;,{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{初始化,start_it,1},{INIT,start_em,1}]}}

<强>解决方案

编辑/etc/couchdb/couch.ini文件并将端口设置更改为可用端口。

但是我没有couch.ini但是有default.ini。 我把它更改为另一个我认为应该是免费的端口,它可以工作

答案 4 :(得分:0)

我在ubuntu 16.04上启动couchdb时遇到此错误

在端口5984上运行erlang的原因是,运行命令“netstat -tulpn”

时会出现类似下面的内容

0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 13967 / beam.smp

以超级用户模式打开文件/etc/couchdb/default.ini并将httpd端口更改为可用的其他端口,您可以启动couchdb而不会失败。