Запуск сервера, ошибки, не удается запустить...

Я новенький…

wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo dpkg -i manticore-repo.noarch.deb
sudo apt update
sudo apt install manticore manticore-extra

Выполнил 3 шага, без ошибок. Далее попытался запустить

sudo systemctl start manticore
Job for manticore.service failed because the control process exited with error code.
See "systemctl status manticore.service" and "journalctl -xeu manticore.service" for details.
root@sr:~# systemctl status manticore.service
× manticore.service - Manticore Search Engine
     Loaded: loaded (/lib/systemd/system/manticore.service; enabled; vendor pre>
     Active: failed (Result: exit-code) since Sun 2024-10-20 16:57:39 MSK; 8min>
       Docs: https://manual.manticoresearch.com/,
             man:searchd(1)
    Process: 70212 ExecStart=/usr/bin/searchd --config /etc/manticoresearch/man>
        CPU: 17ms

Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Control process exit>
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Failed with result '>
Oct 20 16:57:39 site.ru systemd[1]: Failed to start Manticore Search Engine.
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Scheduled restart jo>
Oct 20 16:57:39 site.ru systemd[1]: Stopped Manticore Search Engine.
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Start request repeat>
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Failed with result '>
Oct 20 16:57:39 site.ru systemd[1]: Failed to start Manticore Search Engine.
lines 1-16/16 (END)...skipping...
× manticore.service - Manticore Search Engine
     Loaded: loaded (/lib/systemd/system/manticore.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2024-10-20 16:57:39 MSK; 8min ago
       Docs: https://manual.manticoresearch.com/,
             man:searchd(1)
    Process: 70212 ExecStart=/usr/bin/searchd --config /etc/manticoresearch/manticore.conf $_ADDITIONAL_SEARCHD_PARAMS (code=exited, status=1/FAILURE)
        CPU: 17ms

Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Control process exited, code=exited, status=1/FAILURE
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Failed with result 'exit-code'.
Oct 20 16:57:39 site.ru systemd[1]: Failed to start Manticore Search Engine.
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Scheduled restart job, restart counter is at 5.
Oct 20 16:57:39 site.ru systemd[1]: Stopped Manticore Search Engine.
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Start request repeated too quickly.
Oct 20 16:57:39 site.ru systemd[1]: manticore.service: Failed with result 'exit-code'.
Oct 20 16:57:39 site.ru systemd[1]: Failed to start Manticore Search Engine.

Ок, я также попытался

indexer --all

И получил ошибку, отсутствовал файл /etc/manticoresearch/manticore.conf
Создал самостоятельно, с содержимым

source sourcename {
  type                = mysql
  sql_host         = localhost
  sql_user         = ****
  sql_pass         = ***
  sql_db            = ***
  sql_query       = SELECT id from news
 }

index news {
  type   = plain
  source = sourcename
  path   = /var/lib/manticore/indexname
  morphology = stem_enru
  min_infix_len = 3
  stored_fields = head, body
  stored_only_fields = url
  # wordforms = /etc/manticoresearch/wordforms/indexname.wfs
}

searchd {
    listen = 127.0.0.1:9312
    listen = 127.0.0.1:9306:mysql
    listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    query_log = /var/log/manticore/query.log
    pid_file = /var/run/manticore/searchd.pid
    data_dir = /var/lib/manticore
}

Далее я повторил команду

root@sr:~# indexer --all
Manticore 6.3.6 593045790@24080214 (columnar 2.3.0 88a01c3@24052206) (secondary 2.3.0 88a01c3@24052206) (knn 2.3.0 88a01c3@24052206)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com)

using config file '/etc/manticoresearch/manticore.conf'...
indexing table 'news'...
WARNING: table 'news': dict=keywords and prefixes and morphology enabled, forcing index_exact_words=1
FATAL: failed to open /var/lib/manticore/indexname.spl: No such file or directory, will not index. Try --rotate option.

Конфиг был подгружен. Но таблица news не найдена, она есть…
Не понимаю, сориентируйте меня пожалуйста. Как настроить самый минимум, чтобы уже самостоятельно начать отлаживать и тп…

Как узнать, удалось ли соединиться с mysql, верный ли блок

source sourcename {
  type                = mysql
  sql_host         = localhost
  sql_user         = ****
  sql_pass         = ***
  sql_db            = ***
  sql_query       = SELECT id from news
 }

Для чего параметр sql_query, он делает запрос к таблице… Так как он ее не находит, значит приконектиться не удалось?

  1. Не нужно запускать indexer под рутом, а том потом построенные файлы таблицы демон не сможет прочитать (он работает не под рутом). Про это написано в доке - Manticore Search Manual: Data creation and modification > Adding data from external storages > Plain tables creation

  2. нельзя использовать data_dir = /var/lib/manticore вместе с path в index . Про это в доке написано тут Manticore Search Manual: Read this first

Для чего параметр sql_query, он делает запрос к таблице… Так как он ее не находит, значит приконектиться не удалось?

Ошибка “FATAL: failed to open /var/lib/manticore/indexname.spl: No such file or directory, will not index. Try --rotate option” не имеет отношения к source. Это не значит, что indexer не нашёл вашу таблицу news в mysql. Просто у вас и в mysql news и в мантикоре, поэтому так кажется. Поправьте конфиг (уберите data_dir), убедитесь, что /var/lib/manticore есть, запустите indexer не под рутом, посмотрите курс про индексацию из mysql Manticore Search - Indexing data from MySQL example

1 Like