Конфигурация Solr - PullRequest
       5

Конфигурация Solr

10 голосов
/ 11 июля 2011

Я попытался установить 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 SocketConnector@0.0.0.0:8983: java.net.BindException: Address already in use
2011-07-10 22:41:27.632:WARN::failed Server@c4e21db: 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 Searcher@5b6b9e62 main

Ответы [ 6 ]

17 голосов
/ 13 ноября 2012

Это означает, что у вас уже есть приложение, работающее на этом конкретном порту.

Пробег:

$ 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.

9 голосов
/ 11 июля 2011

java.net.BindException означает, что вы пытаетесь перезапустить solr, пока более ранний экземпляр продолжает работать, или менее вероятно, что у вас есть что-то еще, работающее на порту 8983. Вы должны найти этот процесс, уничтожить его, а затем запустить solr снова.

6 голосов
/ 10 июля 2012

Это связано с каким-то другим приложением. В случае, если это важное приложение, вы можете изменить порт по умолчанию, используя следующее:

java -Djetty.port=8181 -jar start.jar
2 голосов
/ 11 марта 2017
ps aux  | grep solr

OR

ps aux | grep start.jar

И затем обработайте идентификатор и убейте его:

kill -9 #PID#

пример: kill -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

Теперь вы можете переустановить его без проблем.

0 голосов
/ 05 октября 2016

Может быть, какая-то безумная идея - использовать docker для чтения полной расширенной пошаговой и повторяемой установки:

Здесь dockerhub для выбора конкретной версии, запускаемой в Docker Docker Hub Solr

А вот github для чтения рецепта докера Рецепт Solr докера

0 голосов
/ 07 апреля 2015

Если sudo lsof -i:8983 не поможет найти приложение, работающее на том же порту, распространенная ошибка - неправильная конфигурация Tomcat (если вы ее используете).

Например, по умолчанию Tomcat прослушивает порт 8005 для команды SHUTDOWN, и если вы установите другой Соединитель для прослушивания на том же порту, вы получите конфликт портов.

Так что дважды проверьте server.xml, если эти порты отличаются:

<Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8983" protocol="HTTP/1.1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...