我有两台服务器具有相同的MarkLogic版本,并且网络连接不受限制。两台服务器都使用Marklogic 7.0-3运行CentOS。
我在server1上有一个满载数据库,我在server2上有一个空数据库。 我的目标是将此数据库从server1复制到server2并保持同步。
要进行此设置,请按照MarkLogic网站上的“数据库复制”指南进行操作。 https://docs.marklogic.com/guide/database-replication/quick_start
我结合了群集,我创建了数据库复制配置,一切正常,没有任何错误。我检查了最后一个Boostrap(由MarkLogic制作的拼写错误)并且没有说“从来没有”#39;所以群集之间已经有了一种沟通。
然后什么都没有。没有单个文档或片段同步。这些服务器的日志文件中没有单个错误消息。 ' slave'的日志文件中的最后一行系统是:
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'的数据库状态。是; '同步副本'。但它没有做任何事情。 检查服务器负载时,两台服务器都处于空闲状态。
感谢任何帮助。
答案 0 :(得分:3)
感谢mblakele和Wayne Feick,我发现其中一台服务器没有同步时间。配置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
剩下的挑战是在同步数据后让slave数据库重新编制索引。这通常仅在主数据库中插入新文档时完成。 通过设置索引然后清除数据库以便开始新的同步并创建索引来解决此问题。
答案 1 :(得分:2)
有一些跟踪标志可以提供更多信息:“Forest Replicate”和“Database Replicate”。这些将添加额外的日志记录到ErrorLog.txt。
如果您不熟悉跟踪标记,可以通过导航UI启用它们,导航到您的组,然后单击左侧树中的“诊断”。确保同时添加跟踪标志并将“已激活的跟踪事件”设置为true。
答案 2 :(得分:1)
第一次尝试时,我遇到了一些麻烦,但已经有一段时间了,我不记得细节了。首先,我打开日志记录:在组配置中,设置"文件日志级别"两个群集上的debug
。这应该会在ErrorLog.txt
中给你更多的喋喋不休。
检查双方的群集状态:可能会出现问题。 https://docs.marklogic.com/guide/database-replication/status可能有所帮助。