2015-05-14 137 views
9

我已經在ubuntu 10.04上配置並安裝了couchdb 1.6.1。雖然配置和安裝它說成功完成。但是當我啓動couchdb時,它給了我錯誤。Couchdb未啓動。 - 未能啓動Mochiweb:eaddrinuse

當第一次啓動..

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/** 

當local.ini再次

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() 

開始我改變了 港5983也從127.0 IP地址爲0.0.0.0 .0.1 沒有幫助

當我執行sudo netstat的-tulpn

我獲得以下輸出

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

CouchDB的-sApache CouchDB未運行

在此先感謝

+0

確實捲曲'http:// localhost:5984 /'給你任何迴應? –

+0

你好Akshat感謝回覆,它不給我任何迴應...我想等待連接couchdb -s說Apache CouchDB沒有運行。 – Satish

+0

您可以使用htop等實用工具手動殺死couchdb。只需安裝它。在終端上鍵入htop。按F4搜索couchdb和F9 +輸入殺死它。看看它是否有幫助。 –

回答

0

即使我面臨同樣的問題。我只是做了..

sudo apt-get update

sudo apt-get install couchdb 

注:我剛剛重新安裝的CouchDB現在它的正常工作。在重新安裝之前,我做了下面的配置。

安裝ICU和使用定位找到ICU-config命令:

locate icu-config 


sudo apt-get install libicu-dev 

瞭解更多詳情請參考以下鏈接

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

0

我面臨同樣的問題...

幸運的是,Couchdb錯誤消息文檔中有一個修復程序。 https://wiki.apache.org/couchdb/Error_messages

問題

$ CouchDB的
阿帕奇CouchDB的0.9.0a747640(LogLevel的=信息)正在啓動。 未啓動Mochiweb:eaddrinuse {「init終止在do_boot」,{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5 },{初始化,start_it,1},{初始化,start_em,1}]}}

解決方案

編輯您的/etc/couchdb/couch.ini文件並更改端口設置爲可用港口。

但我沒有couch.ini,但有default.ini。 我改變了另一個端口,我猜想應該是免費的,它的工作

2

如果你來這裏是因爲你最近升級你的CouchDB 2.0,請確保你更新了local.ini配置文件。 Web服務器配置部分已更改(名稱從httpd更改爲chttpd)。因爲端口指令沒有被拾取,並且默認爲80,這與Web服務器相同。

+0

我發現如果你有* chttpd和httpd集合,你會得到這個錯誤。評論出httpd部分爲我工作。 – Doug

1

根據所提供的錯誤信息條目,CouchDB的是已經高達&運行您的計算機/服務器上的端口5984

**Failure to start Mochiweb: eaddrinuse** 

這就是爲什麼當您運行基於Linux的機器上須藤netstat的-tulpn命令,你得到的輸出如下:

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

解決方案:

couchdb不是您嘗試使用它的服務腳本。它只是試圖重新啓動並失敗,因爲一個已經在運行(erlang beam.smp進程仍在運行)。

檢查&使用以下命令殺死所有CouchDB的過程:

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

開始CouchDB的再次使用以下命令,使用root Linux用戶:

service couchdb start 

注:

  • 當你進入CouchDB的-s命令,你當你進入CouchDB的-d命令,你越來越像Apache CouchDB is not running.

原因上述消息越來越像Apache CouchDB is not running.

  • 消息輸出,您正在執行上述命令作爲非特權Linux用戶帳戶。

    嘗試執行上述命令爲root或couchDB運行linux用戶帳戶。

  • 0

    我也遇到了這個錯誤開始的CouchDB在Ubuntu 16.04

    的原因是Erlang的端口5984上運行,你會運行命令「netstat的-tulpn」

    0 0時是這樣的下面127.0.0.1:5984 0.0.0.0:* LISTEN 13967/beam.smp

    以超級用戶模式打開文件/etc/couchdb/default.ini並將httpd端口更改爲某個其他可用的端口,能夠在沒有任何失敗的情況下啓動couchdb。