Что есть база данных в MySQL для DataParkSearch?

32 views
Skip to first unread message

Damian Linson

unread,
Oct 16, 2016, 4:12:18 PM10/16/16
to DataparkSearch Engine
Всем доброго времени суток. Такой вопрос: несколько дней назад упала база данных из-за некорректного завершения (я убил процесс) (другого выхода не было).
Так вот, после этого пробовал восстановить, но ничего не получилось. При попытке посмотреть статистику (indexer -S) и при обращении последнего к таблице url,
сервер крошился и его приходилось перезагружать. Много всяких слов нужно написать, но перейду к сути:
- есть ли у DPS механизмы восстановления (если да, то какие?).. И как быть в следующий раз, когда (например, выключат свет при работающем indexer)
(либо придётся вновь убить зависший процесс индексатора)? Как завершать более лояльно, когда он зависает? И, скажите пожалуйста, как он связан с базой данных,
так как после её удаления - поиск всё равно функционировал, но до пор, пока не были созданы таблицы ручками и вновь не запущен индексатор.

P.S. Спасибо большое за ответы.

Damian Linson

unread,
Oct 17, 2016, 9:57:25 AM10/17/16
to DataparkSearch Engine
Также данная ошибка меня преследует:
*** Error in `/indexer:[0] URL:https://he.aliexpress.com/': double free or corruption (out): 0x0000000002265b70 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x72403)[0x7f5ec51be403]
/lib64/libc.so.6(+0x77ce6)[0x7f5ec51c3ce6]
/lib64/libc.so.6(+0x784ee)[0x7f5ec51c44ee]
/usr/local/dpsearch/lib/libdpsearch-4.so(DpsServerGetSiteId+0x264)[0x7f5ec5f219d4]
/usr/local/dpsearch/lib/libdpsearch-4.so(DpsURLActionSQL+0xa29)[0x7f5ec5ee58b9]
/usr/local/dpsearch/lib/libdpsearch-4.so(DpsURLAction+0x220)[0x7f5ec5f33470]
/usr/local/dpsearch/lib/libdpsearch-4.so(DpsStoreHrefs+0x1c8)[0x7f5ec5ec58b8]
/usr/local/dpsearch/lib/libdpsearch-4.so(DpsIndexNextURL+0x1695)[0x7f5ec5ecb965]
/indexer:[0] URL:https://he.aliexpress.com/[0x405ecb]
/indexer:[0] URL:https://he.aliexpress.com/[0x4045c9]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f5ec516c620]
/indexer:[0] URL:https://he.aliexpress.com/[0x404b89]
======= Memory map: ========
00400000-00409000 r-xp 00000000 00:11 4865553                            /usr/local/dpsearch/sbin/indexer
00609000-0060a000 r--p 00009000 00:11 4865553                            /usr/local/dpsearch/sbin/indexer
0060a000-0060b000 rw-p 0000a000 00:11 4865553                            /usr/local/dpsearch/sbin/indexer
0060b000-00646000 rw-p 00000000 00:00 0
020f9000-0e94a000 rw-p 00000000 00:00 0                                  [heap]
7f5ea4000000-7f5ea4021000 rw-p 00000000 00:00 0
7f5ea4021000-7f5ea8000000 ---p 00000000 00:00 0
7f5ea9106000-7f5eb1166000 rw-p 00000000 00:00 0
7f5eb12e5000-7f5eb12ea000 r-xp 00000000 00:11 62272                      /lib64/libnss_dns-2.22.so
7f5eb12ea000-7f5eb14e9000 ---p 00005000 00:11 62272                      /lib64/libnss_dns-2.22.so
7f5eb14e9000-7f5eb14ea000 r--p 00004000 00:11 62272                      /lib64/libnss_dns-2.22.so
7f5eb14ea000-7f5eb14eb000 rw-p 00005000 00:11 62272                      /lib64/libnss_dns-2.22.so
7f5eb14eb000-7f5ec28f9000 rw-p 00000000 00:00 0
7f5ec28f9000-7f5ec2903000 r-xp 00000000 00:11 62087                      /lib64/libnss_files-2.22.so
7f5ec2903000-7f5ec2b02000 ---p 0000a000 00:11 62087                      /lib64/libnss_files-2.22.so
7f5ec2b02000-7f5ec2b03000 r--p 00009000 00:11 62087                      /lib64/libnss_files-2.22.so
7f5ec2b03000-7f5ec2b04000 rw-p 0000a000 00:11 62087                      /lib64/libnss_files-2.22.so
7f5ec2b04000-7f5ec2b0a000 r-xp 00000000 00:11 62190                      /lib64/libnss_db-2.22.so
7f5ec2b0a000-7f5ec2d09000 ---p 00006000 00:11 62190                      /lib64/libnss_db-2.22.so
7f5ec2d09000-7f5ec2d0a000 r--p 00005000 00:11 62190                      /lib64/libnss_db-2.22.so
7f5ec2d0a000-7f5ec2d0b000 rw-p 00006000 00:11 62190                      /lib64/libnss_db-2.22.so
7f5ec2d0b000-7f5ec327d000 rw-p 00000000 00:00 0
7f5ec343e000-7f5ec3454000 r-xp 00000000 00:11 54978                      /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7f5ec3454000-7f5ec3653000 ---p 00016000 00:11 54978                      /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7f5ec3653000-7f5ec3654000 r--p 00015000 00:11 54978                      /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7f5ec3654000-7f5ec3655000 rw-p 00016000 00:11 54978                      /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7f5ec3655000-7f5ec3657000 r-xp 00000000 00:11 62135                      /lib64/libdl-2.22.so
7f5ec3657000-7f5ec3857000 ---p 00002000 00:11 62135                      /lib64/libdl-2.22.so
7f5ec3857000-7f5ec3858000 r--p 00002000 00:11 62135                      /lib64/libdl-2.22.so
7f5ec3858000-7f5ec3859000 rw-p 00003000 00:11 62135                      /lib64/libdl-2.22.so
7f5ec3859000-7f5ec3a1a000 r-xp 00000000 00:11 3752516                    /usr/lib64/libcrypto.so.1.0.0
7f5ec3a1a000-7f5ec3c1a000 ---p 001c1000 00:11 3752516                    /usr/lib64/libcrypto.so.1.0.0
7f5ec3c1a000-7f5ec3c36000 r--p 001c1000 00:11 3752516                    /usr/lib64/libcrypto.so.1.0.0
7f5ec3c36000-7f5ec3c41000 rw-p 001dd000 00:11 3752516                    /usr/lib64/libcrypto.so.1.0.0
7f5ec3c41000-7f5ec3c45000 rw-p 00000000 00:00 0
7f5ec3c45000-7f5ec3ca3000 r-xp 00000000 00:11 3752517                    /usr/lib64/libssl.so.1.0.0
7f5ec3ca3000-7f5ec3ea3000 ---p 0005e000 00:11 3752517                    /usr/lib64/libssl.so.1.0.0
7f5ec3ea3000-7f5ec3ea7000 r--p 0005e000 00:11 3752517                    /usr/lib64/libssl.so.1.0.0
7f5ec3ea7000-7f5ec3ead000 rw-p 00062000 00:11 3752517                    /usr/lib64/libssl.so.1.0.0
7f5ec3ead000-7f5ec412c000 r-xp 00000000 00:11 5286701                    /usr/lib64/libmysqlclient.so.18.1.0
7f5ec412c000-7f5ec432c000 ---p 0027f000 00:11 5286701                    /usr/lib64/libmysqlclient.so.18.1.0
7f5ec432c000-7f5ec432f000 r--p 0027f000 00:11 5286701                    /usr/lib64/libmysqlclient.so.18.1.0Аварийный останов

Хотя бы подскажите, что в каком направление двигаться?

Maxim Zakharov

unread,
Oct 17, 2016, 7:14:26 PM10/17/16
to DataparkSearch Engine
Добрый день,
Если упала база данных, то её восстанавливать нужно средствами базы данных, DataparkSearch не имеет таких средств.
Проверить целостность и исправить базу DataparkSearch (при использовании dbmode=cache - по умолчанию), можно командами
./indexer -TZZZ
и
./indexer -TYY
однако их выполнение на больших поисковых базах может быть долгим.

Штатно завершить indexer можно послав ему сигнал INT, однако он завершит своию работу по окончании индексирования очередного документа каждой из нитей (их количествор задается клоючом -N).

При использовании dbmode=cache (по умолчанию), база данных используется в основном для индексирования и построения поисковых индексов. Как только вы запустили indexer, он перестроил поисковые индексы исходя из текущего состояния базы данных, которая была пости пуста. Теоретически вы можете иметь две копии /usr/local/dpsearch/var директории, одну для поиска, другую для индексирования и копировать вторую поверх первой по окончании очередного раугда индексирования (или же просто использовать файлоовые softinks или hardlinks для переадресации на текующую копию для поиска).

Максим

--
You received this message because you are subscribed to the Google Groups "DataparkSearch Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataparksearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Maxim Zakharov

unread,
Oct 17, 2016, 7:22:09 PM10/17/16
to DataparkSearch Engine
Добрый день,

Эти падения происходят при индексировании одних и тех же URL? Сколько одновременно индексирующих нитей вы запускаете? Достаточно ли у вас памяти для работы indexer с таким числом индексирующих нитей?
Какую версию Linux вы используете?
Пришлите, пожалуйста, ваш indexer.conf и cache.log (создается в директории, где запускается configure при компиляции DataparkSearch) не на имейл dp.m...@gmial.com

Максим.

--
You received this message because you are subscribed to the Google Groups "DataparkSearch Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataparksearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Damian Linson

unread,
Oct 17, 2016, 9:30:40 PM10/17/16
to DataparkSearch Engine
Эти падения происходят при индексировании одних и тех же URL?
- Да. Одних и тех же.. Индексирование начинаю с www.yandex.ru (рекурсивно).

Достаточно ли у вас памяти для работы indexer с таким числом индексирующих нитей?
- Думаю, что да. Так как только половина используется. Причём без swap. 8G, если быть точным,
но достаточно ли этого именно для рекурсивного сканирования - не могу точно сказать.
Физически - используется половина при индексировании.

Какую версию Linux вы используете?
- Использую: Gentoo Linux (x64) с самостоятельно собранным статическим ядром (версии 4.4).
Первое ваше сообщение, честно сказать, меня озадачило. Так как были предположения, но не такого плана.
Не думал, что база данных используется как перевалочный пункт и можно иметь две одинаковые директории VAR
в которые путём копирования добавлять недавно проиндексированные документы. С целью обеспечения целостности..
Самое - то.. Спасибо. P.S. indexer.conf и cache.log - отправлю на вашу почту.

Maxim Zakharov

unread,
Oct 25, 2016, 9:50:52 AM10/25/16
to DataparkSearch Engine
Добрый день,

я исправил причину этого падения. Попробуйте свежую версию из git-репозитория, и сообщите, если вам нужен пэкадж или архив исходников с исправленной версией.

--
You received this message because you are subscribed to the Google Groups "DataparkSearch Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataparksearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Damian Linson

unread,
Oct 25, 2016, 11:11:06 AM10/25/16
to datapar...@googlegroups.com, DataparkSearch Engine
Доброго времени суток,

Максим, сильно благодарен вам, спасибо. Скачал свежую версию, отпишусь о ней обязательно. Архив с исходниками не помешал бы, но насколько я понимаю, то исходники расположены здесь: https://github.com/Maxime2/dataparksearch ?


С уважением,
Николай Негробов

Сайт: www.linson.ru; Skype: linsondamian;
Моб.: +7 (900) 947-23-28; +7 (951) 560-73-77;


вт, окт 25, 2016 в 17:50, Maxim Zakharov <dp.m...@gmail.com> написал:
You received this message because you are subscribed to a topic in the Google Groups "DataparkSearch Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dataparksearch/uHlIpY-ednI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dataparksearc...@googlegroups.com.

Maxim Zakharov

unread,
Oct 25, 2016, 6:23:56 PM10/25/16
to DataparkSearch Engine
Совершенно верно, репозиторий исходников тут: https://github.com/Maxime2/dataparksearch

To unsubscribe from this group and all its topics, send an email to dataparksearch+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "DataparkSearch Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataparksearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Maxim Zakharov

unread,
Oct 25, 2016, 7:05:14 PM10/25/16
to DataparkSearch Engine
Архив с исходниками нового снапшота: https://drive.google.com/open?id=0B4LJSYsLtw_MdjlhY1FIYmEyU1E

Damian Linson

unread,
Oct 26, 2016, 2:01:40 PM10/26/16
to datapar...@googlegroups.com, DataparkSearch Engine
Максим, я действительно сильно благодарен. К примеру, если вам понадобиться собрать статичное ядро GNU/Linux (в частности Gentoo), то напишите мне. Я с удовольствием помогу. Всего доброго.


С уважением,
Николай Негробов

Сайт: www.linson.ru; Skype: linsondamian;
Моб.: +7 (900) 947-23-28; +7 (951) 560-73-77;


ср, окт 26, 2016 в 03:05, Maxim Zakharov <dp.m...@gmail.com> написал:
To unsubscribe from this group and all its topics, send an email to dataparksearc...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages