Azure中的Ubuntu VM上的CouchDB无法启动

时间:2016-03-26 16:55:07

标签: ubuntu couchdb

我正在为一个新项目评估CouchDB,它将是一个完美的选择,而不是我通常使用的数据库(Mongo)。但是,安装似乎有问题。 我已经用

安装了所有依赖项
sudo apt-get install build-essential
sudo apt-get install erlang-base-hipe
sudo apt-get install erlang-dev
sudo apt-get install erlang-manpages
sudo apt-get install erlang-eunit
sudo apt-get install erlang-nox
sudo apt-get install libicu-dev
sudo apt-get install libmozjs-dev
sudo apt-get install libcurl4-openssl-dev

然后去代表安装。但是,即使启动它似乎启动服务,但是当使用couchdb进入数据库时​​,我收到一条错误消息

Apache CouchDB 1.5.0 (LogLevel=info) is starting.
Failure to start Mochiweb: eaddrinuse
[error] [<0.107.0>] {error_report,<0.31.0>,
                     {<0.107.0>,crash_report,
                      [[{initial_call,
                         {mochiweb_socket_server,init,['Argument__1']}},
                        {pid,<0.107.0>},
                        {registered_name,[]},
                        {error_info,
                         {exit,eaddrinuse,
                          [{gen_server,init_it,6,
                            [{file,"gen_server.erl"},{line,320}]},
                           {proc_lib,init_p_do_apply,3,
                            [{file,"proc_lib.erl"},{line,239}]}]}},
                        {ancestors,
                         [couch_secondary_services,couch_server_sup,<0.32.0>]},
                        {messages,[]},
                        {links,[<0.94.0>]},
                        {dictionary,[]},
                        {trap_exit,true},
                        {status,running},
                        {heap_size,987},
                        {stack_size,27},
                        {reductions,597}],
                       []]}}
{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/etc/couchdb/default.ini","/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,httpd,eaddrinuse}}}}}},[{couch_server_sup,start_server,1,[{file,"couch_server_sup.erl"},{line,98}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,269}]}]}}}}}},[{couch,start,0,[{file,"couch.erl"},{line,18}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

感谢您的任何建议,请记住我是couchdb的第一次使用者。

3 个答案:

答案 0 :(得分:0)

看起来我的问题是我没有在我的Azure上打开一个端口。我发布这个以防任何人遇到同样的问题。

答案 1 :(得分:0)

基本存储库中的couchdb版本是旧的:1.5.0。你肯定想使用1.6.1。我在Azure上的Ubuntu 14.04.4 LTS节点上运行CouchDB 1.6.1,我没有看到你描述的问题。

以下是升级到1.6.1(首先备份数据库)的命令:

sudo apt-get remove couchdb couchdb-bin couchdb-common -f
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:couchdb/stable
sudo apt-get update
sudo apt-get install couchdb couchdb-bin couchdb-common -f

取自askubuntu

答案 2 :(得分:0)

根据提供的错误消息,CouchDB已在您的VM上启动并运行,或者某些服务在VM的端口5984(couchdb默认端口)上运行。

**{shutdown,{failed_to_start_child,httpd,eaddrinuse}}}}}}**

这是沙发床无法启动的原因,因为该沙发床配置的端口被您的VM上的服务占用(它可能是沙发床服务或在同一端口上运行的其他服务)

使用以下命令

杀死在couchDB默认端口上运行的服务:

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

再次启动CouchDB:

service couchdb start