2011-07-11 71 views
9

我試圖安裝使用的Solr:Solr的配置

java -jar start.jar 

但是我下載的源代碼並沒有編譯(沒注意)。而錯誤是:

http://localhost:8983/solr/admin/ 

HTTP ERROR: 404 
Problem accessing /solr/admin/. Reason: 
NOT_FOUND 

然後我下載的Solr的編譯版本,但試圖運行示例配置我得到異常時:

java.net.BindException: Address already in use 

有沒有辦法恢復Solr的配置和白手起家?看起來像配置搞砸了。我在手冊中沒有看到與其相關的任何內容。

以下是錯誤:

2011-07-10 22:41:27.631:WARN::failed [email protected]:8983: java.net.BindException: Address already in use 
2011-07-10 22:41:27.632:WARN::failed [email protected]: java.net.BindException: Address already in use 
2011-07-10 22:41:27.632:WARN::EXCEPTION 
java.net.BindException: Address already in use 
    at java.net.PlainSocketImpl.socketBind(Native Method) 
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) 
    at java.net.ServerSocket.bind(ServerSocket.java:328) 
    at java.net.ServerSocket.<init>(ServerSocket.java:194) 
    at java.net.ServerSocket.<init>(ServerSocket.java:150) 
    at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80) 
    at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73) 
    at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:283) 
    at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.Server.doStart(Server.java:235) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.mortbay.start.Main.invokeMain(Main.java:194) 
    at org.mortbay.start.Main.start(Main.java:534) 
    at org.mortbay.start.Main.start(Main.java:441) 
    at org.mortbay.start.Main.main(Main.java:119) 
Jul 10, 2011 10:41:27 PM org.apache.solr.core.SolrCore registerSearcher 
INFO: [] Registered new searcher [email protected] main 

回答

9

java.net.BindException意味着你正試圖重新啓動solr而前一個實例繼續運行,以下可能是你有別的東西在端口8983.運行你應該找到該過程,殺死它,然後再次啓動solr

6

它綁定到一些其他應用程序。萬一如果你可以用更改碼頭默認端口一個重要的應用程序如下:

java -Djetty.port=8181 -jar start.jar 
15

這意味着你已經有一個特定的端口上運行的應用程序。

運行:

$ lsof -i :8983 

這讓你在該端口上運行的任何應用程序的列表。在我的情況下,Solr的已經在運行了,我回去:

COMMAND PID  USER FD TYPE DEVICE SIZE/OFF NODE NAME 
java 10289 patricia 111u IPv6 399410  0t0 TCP *:8983 (LISTEN) 

在你的PID填充殺死該進程:

$ kill 10289 

,然後再次嘗試運行Solr的。

0

如果sudo lsof -i:8983無助於找到在同一個端口上運行的應用程序,常見的錯誤是Tomcat配置錯誤(如果您使用的話)。

例如,缺省情況下,Tomcat在端口8005上偵聽SHUTDOWN命令,如果您設置另一個端口在同一個端口上偵聽,則會發生端口衝突。

所以,請仔細檢查在server.xml如果這些端口是不同的:

<Server port="8005" shutdown="SHUTDOWN"> 
    <Connector port="8983" protocol="HTTP/1.1" 
0

也許有些瘋狂的想法是使用泊塢窗看一步的和可重複安裝完整的擴展步:

這裏dockerhub到選擇搬運工Docker Hub Solr

這裏GitHub上的特定版本TU運行閱讀泊塢窗配方Solr docker Recipe

1
ps aux | grep solr 

OR

ps aux | grep start.jar 

和獲得那麼進程ID和殺死它:

kill -9 #PID# 

例如:如果你想殺死進程後 :殺-9 4989

UPDATE重新安裝solr你的靈魂首先卸載它,下面是卸載它的解決方案之一:

sudo service solr stop 
sudo rm -r /var/solr 
sudo rm -r /opt/solr-5.3.1 
sudo rm -r /opt/solr 
sudo rm /etc/init.d/solr 
sudo deluser --remove-home solr 
sudo deluser --group solr 

現在你可以重新安裝它沒有問題。