Почему-то иногда searchd самовольно отключается и приходятся вручную запускать заново. Причем несколько раз это было ровно в 0 часов 0 минут, что подозрительно. Но бывало и в другое время. Вот пример лога:
[Wed Mar 15 00:00:35.792 2023] [3321] caught SIGTERM, shutting down
[Wed Mar 15 00:00:37.126 2023] [3321] shutdown daemon version ‘6.0.2 89c7a5139@230210 (columnar 2.0.4 5a49bd7@230306) (secondary 2.0.4 5a49bd7@230306)’ …
[Wed Mar 15 00:00:37.126 2023] [3321] shutdown complete
Вот что пишет searchd --status после этого:
Manticore 6.0.2 89c7a5139@230210 (columnar 2.0.4 5a49bd7@230306) (secondary 2.0.4 5a49bd7@230306)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2023, Manticore Software LTD (https://manticoresearch.com)
[17:08.286] [651] using config file ‘/etc/manticoresearch/manticore.conf’ (6318 chars)…
[17:08.287] [651] WARNING: failed to connect to 127.0.0.1:9312: Connection refused
[17:08.287] [651] FATAL: failed to connect to daemon: please specify listen with sphinx protocol in your config file
если там видно, что процесс внезапно пропадает и стартует заново, например (systemd так делает по дефолту), то смотреть не было ли OOM (в /var/log/messages или типа того, зависит от ОС)
[Thu Nov 9 05:42:02.808 2023] [2028117] rt: table products_cat_46: diskchunk 0(1), segments 32 saved in 3.584738 (3.585386) sec, RAM saved/new 44734155/821364 ratio 0.950000 (soft limit 127506841, conf limit 134217728)
[Thu Nov 9 11:50:39.611 2023] [2028115] caught SIGTERM, shutting down
[Thu Nov 9 12:00:52.378 2023] [2184348] watchdog: main process 2184349 forked ok
[Thu Nov 9 12:00:52.392 2023] [2184349] starting daemon version ‘6.2.12 dc5144d35@230822 (columnar 2.2.4 5aec342@230822) (secondary 2.2.4 5aec342@230822)’ …
[Thu Nov 9 12:00:52.393 2023] [2184349] listening on 127.0.0.1:9312 for sphinx and http(s)
[Thu Nov 9 12:00:52.393 2023] [2184349] listening on 127.0.0.1:9306 for mysql
[Thu Nov 9 12:00:52.393 2023] [2184349] listening on 127.0.0.1:9308 for sphinx and http(s)
[Thu Nov 9 12:00:54.211 2023] [2184353] prereading 403 tables
[Thu Nov 9 12:00:54.229 2023] [2184349] accepting connections
[Thu Nov 9 12:00:54.427 2023] [2184353] preread 403 tables in 0.216 sec
[Thu Nov 9 12:00:54.463 2023] [2184356] [BUDDY] started v1.0.18 ‘/usr/share/manticore/modules/manticore-buddy/bin/manticore-buddy --listen=http://127.0.0.1:9312 --threads=8’ at http://127.0.0.1:40903
[Thu Nov 9 12:00:54.607 2023] [2184352] [BUDDY] Loaded plugins:
[Thu Nov 9 12:00:54.607 2023] [2184352] [BUDDY] core: empty-string, backup, emulate-elastic, insert, select, show, cli-table, plugin, test, insert-mva
[Thu Nov 9 12:00:54.607 2023] [2184352] [BUDDY] local:
[Thu Nov 9 12:00:54.607 2023] [2184352] [BUDDY] extra:
[Thu Nov 9 13:07:48.810 2023] [2184352] rt: table products: diskchunk 0(1), segments 32 saved in 1.790689 (1.791212) sec, RAM saved/new 44735991/435979 ratio 0.950000 (soft limit 127506841, conf limit 134217728)
[Thu Nov 9 13:13:11.910 2023] [2184353] rt: table products_keywords: diskchunk 0(1), segments 32 saved in 1.609051 (1.610438) sec, RAM saved/new 44734268/58189 ratio 0.950000 (soft limit 127506841, conf limit 134217728)
[Thu Nov 9 13:19:43.312 2023] [2184357] rt: table products: diskchunk 1(2), segments 32 saved in 7.507540 (7.508566) sec, RAM saved/new 127500277/1789451 ratio 0.950000 (soft limit 127506841, conf limit 134217728)
searchd --status выдает ровно то же самое, что и в примере выше. При попытке перезапуска (вплоть до убивания процесса демона вручную) выдает то же самое: failed to connect to daemon: please specify listen with sphinx protocol in your config file, будто что-то не так с портом, но при этом порт ничем не занят, проверял.
Что характерно, помогает только удаление папки binlog, тогда запуск проходит нормально и все заводится. Случается раз в 2-3 дня. Причем, на другом сервере с теми же настройками мантикоры и примерно теми же настройками сервера, все работает нормально, ничего не падает.
Заново не стартует, просто подвисает и не отвечает, приходится убить процесс демона, удалить папку binlog и запустить вручную. Подробности в посте выше.
Ситуация редкая. Особенно, если это регулярно повторяется. Можно попробовать запустить searchd в режиме логирования (set global log_level=debugv) и может быть тогда в логе будет больше деталей. Ещё можно подсоединиться к зависшему процессу с помощью gdb и собрать информацию о том, чем занят процесс и его треды - Manticore Search Manual: Reporting bugs?
А что кстати происходит, если не удалять папку с бинлогами?
Ну, внешне выглядит как-будто все запускается, выводит стандартно информацию о precaching таблиц, но демон не подымается. И при проверке статуса --status вот выдает то, что выше указал.