Репликация базы данных не запускается

#marklogic

#marklogic

Вопрос:

У меня есть два сервера с одинаковой версией MarkLogic и с неограниченным сетевым подключением. На обоих серверах работает CentOS с Marklogic 7.0-3.

У меня есть полностью загруженная база данных на server1, у меня есть пустая база данных на server2. Моя цель — реплицировать эту базу данных с server1 на server2 и поддерживать ее синхронизацию.

Чтобы настроить это, я следую руководству по репликации базы данных на веб-сайте MarkLogic. https://docs.marklogic.com/guide/database-replication/quick_start

Я соединяю кластеры, создаю конфигурацию репликации базы данных, все нормально и без каких-либо ошибок. Я проверяю последний Boostrap (опечатка, сделанная MarkLogic), и он не говорит «никогда», поэтому между кластерами была своего рода связь.

И затем ничего. Ни один документ или фрагмент не синхронизируется. В файлах журналов этих серверов нет ни одного сообщения об ошибке. Последняя строка в файле журнала «подчиненной» системы является:

 2014-07-03 14:06:30.184 Info: Forest dbase-content-001-1 accepts foreign forest {server1-cluster dbase-content dbase-content-001-1} as its master with new precise time 14038608798546100
  

Кроме того, состояние базы данных ‘slave’ равно; ‘синхронизирующая реплика’. Но это ничего не делает.
Когда я проверяю загрузку сервера, оба сервера простаивают.

Приветствуется любая помощь.

Ответ №1:

Благодаря mblakele и Уэйну Фейку я узнал, что у одного из серверов не было синхронизированного времени. После настройки localtime, NTP и синхронизации их обоих репликация базы данных запущена.

Предупреждение, указывающее на мою проблему.

 2014-07-04 00:00:50.923 Warning: Excessive clock skew detected; suggest using NTP (7201 seconds skew with server2 in foreign cluster server2-cluster)
  

Сообщение после синхронизации времени.

 2014-07-04 08:06:01.588 Info: Saved 10 MB in 1 sec at 17 MB/sec to /var/opt/MarkLogic/Forests/Meters/00000013
  

Оставшаяся задача — переиндексировать подчиненную базу данных после синхронизации данных. Обычно это делается только при вставке новых документов в основную базу данных.
Это исправлено путем установки индексов, а затем очистки базы данных, чтобы началась новая синхронизация и были созданы индексы.

Ответ №2:

Есть пара флагов трассировки, которые могут предоставить дополнительную информацию: «Репликация леса» и «Репликация базы данных». Это добавит дополнительное ведение журнала в ErrorLog.txt .

Если вы не знакомы с флагами трассировки, их можно включить через пользовательский интерфейс администратора, перейдя в свою группу, затем нажав на «Диагностика» в дереве слева. Обязательно добавьте флаги трассировки, а также установите для параметра «события трассировки активированы» значение true.

Ответ №3:

У меня были некоторые проблемы с этим, когда я попробовал это в первый раз, но прошло некоторое время, и я не помню подробностей. Сначала я бы включил ведение журнала: в конфигурации группы установите для «File log level» значение debug для обоих кластеров. Это должно вызвать у вас больше болтовни ErrorLog.txt .

Проверьте состояние кластера с обеих сторон: там могут возникнуть проблемы. И https://docs.marklogic.com/guide/database-replication/status может помочь.