Error searhd.pid

Что то как-то дружба с searchd у мня не очень пока. Смотрите какая бяка :

FATAL: failed to lock pid file ‘/var/run/manticore/searchd.pid’: Resource temporarily unavailable (searchd already running?) Manticore 4.2.0 15e927b28@211223 release

Вот. killall бессилен. Перезагрузка сервера тоже.
Некий процесс запущен, кажысь от root user… :rofl: Как его остановить?

При всём етом поисковик работает, но много чего не находит.
К примеру title=‘слово1 слово2 слово3’ по слову1 и слову2 выдаёт результат, по слову3 нет… :roll_eyes::thinking:

нужно смотреть как вы запускаете daemon \ из какого пакета его поставили \ на какой систему - может он как сервис запускается

вот в нашей документации описаны способы управления демоном

А как запускать обновления баз, типа - rotate? У меня в данный момент на cron стоит такое, чтобы обнолялось 1x в день.

indexer -c /etc/manticoresearch/manticore.conf --rotate --all && killall
searchd && sleep 1 && /usr/bin/searchd -c /etc/manticoresearch/manticore.conf

Такое же было у иеня на sphinx2

Зачем прибивать searchd-то? indexer --rotate сам скажет searchd, что нужно переключиться на новый индекс.

:roll_eyes::thinking: на новый индекс или обновлённый? Просто это старая команда, которая была у меня для sphinx2.

indexer --rotate:

  • делает новый индекс
  • помещает его рядом с предыдущим (если он есть) с суффиксом .new. в именах файлов
  • отправляет сигнал searchd

searchd:

  • получает сигнал
  • старый индекс удаляет или помечает как .old. (в именах файлов)
  • *.new.* переименовывает в обычные имена файлов
  • и собственно внутри процесса тоже переключается на новые файлы индекса: перечитывает их и т.д.
2 Likes

В сфинксе было точно так же. Рестартить searchd после индексации никогда не было нужно на моей памяти.

Теперь понятно, что это было.
Как я поправил:
Остановил текущие процессы между которыми и был конфикт (searchd --stop, sudo systemctl stop manticore) searchd.
Потом снова запустил ‘sudo systemctl start manticore’.
Задание cron поменял на
indexer -c /etc/manticoresearch/manticore.conf – rotate --all
Вроде всё работает. :roll_eyes::rofl: