Назад | Перейти на главную страницу

Как правильно перезапустить Solr

Я внес некоторые изменения в файл схемы Solr и вижу, что мне пришлось перезапустить SolR, чтобы Solr работал с новыми обновлениями схемы.

Он размещен на сервере, где solr запущен из файла start.jar, но я не уверен, как он был запущен (возможно, с nohup)

Я нашел способ остановить SolR от другого вопроса (https://stackoverflow.com/questions/2150767/how-to-start-solr-automatically):

kill `ps uax | grep -i "java -jar start.jar" | head -n 1 | awk '{print $2}'`

После этого я запускаю SolR с помощью «java -jar start.jar».

Это правильный способ перезапуска или есть встроенный / лучший способ перезапустить банку?

Вы можете попробовать этот подход http://wiki.apache.org/solr/CoreAdmin#RELOAD.

Используя такую ​​команду

http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0

просто перезагрузит все ваши файлы конфигурации, и у вас не будет проблем с выполнением запросов SOLR во время перезапуска ядра.

В Websolr, мы используем комбинацию пользовательских init.d сценарий плюс Монит чтобы запустить Solr и убедиться, что он продолжает работать.

Тем не менее, для более простой самостоятельной установки я бы рекомендовал использовать Выскочка для запуска и остановки Solr, если в вашей системе доступен Upstart. Сценарии Upstart имеют то преимущество, что они довольно просты, и Upstart отлично справляется с перезапуском процессов в случае их сбоя. Плюс команды пуска и останова (start и stopсоответственно) довольно легко запомнить, чтобы в следующий раз вам нужно было сообщить Solr о новых конфигурациях.

Вот хороший пост в блоге, посвященный запуск Solr с Upstart. Я скопировал их сценарий выскочки ниже; обязательно обновите соответствующие пути, чтобы они соответствовали вашей системе:

description "Solr Search Server"

# Make sure the file system and network devices have started before
# we begin the daemon
start on (filesystem and net-device-up IFACE!=lo)

# Stop the event daemon on system shutdown
stop on shutdown

# Respawn the process on unexpected termination
respawn

# The meat and potatoes
exec /usr/bin/java -Xms128m -Xmx256m -Dsolr.solr.home=/path/to/solr/home -Djetty.home=/path/to/jetty -jar /path/to/jetty/start.jar >> /var/log/solr.log 2>&1

Для SolrCloud из папки solr запустите:

bin/solr restart -e cloud -noprompt

вы можете нажать CTRL + C, это будет остановка solr и перезапуск с java -jar start.jar