是否有可能通过mlcp不间断地更新MarkLogic服务器,而不会有最短的停机时间?

时间:2016-12-05 00:14:42

标签: marklogic mlcp

我已经更改了服务器映像的配置。我已经使用新配置启动了服务器。我可以使用mlcp副本将所有数据从一个服务器移植到另一个服务器(请参阅之前的类似脚本)。我相信在交易发生时我不能允许编辑数据。这是从复制开始到新服务器重新链接的时候,我无法在旧服务器上编辑数据。一旦复制开始,我只能读取数据。

我可以用mlcp推送更新吗?我是否可以允许在服务器上进行编辑,同时传输数据,并且数据仍然一致?

# moves all data in databases from a server to another server
# usage: ./copy.sh someServer.com anotherServer.com 
from=$1
to=$2

# input security database first so that the users are added
mlcp.sh copy -mode local -input_host $from -input_port 8000 \
    -input_username admin -input_password password \
    -input_database Security \
    -output_database Security \
    -output_host $to -output_port 8000 -output_username admin \
    -output_password password

mlcp.sh copy -mode local -input_host $from -input_port 8000 \
    -input_username admin -input_password password \
    -input_database Documents \
    -output_database Documents \
    -output_host $to -output_port 8000 -output_username admin \
    -output_password password

1 个答案:

答案 0 :(得分:3)

MLCP提供snapshot标志以确保整个运行提供一致的结果:

-snapshot <true,false>               Whether to use a consistent
                                     timestamp to fetch data from the
                                     source database

应同时适用于exportcopy

关于推送更新:您可以重复MLCP copy,但可能更容易处理中断期;您不允许更新系统的期间。您可以通过在源端将森林置于只读模式来强制执行此操作。

或者,您也可以考虑数据库复制。在本指南中阅读更多相关信息:

http://docs.marklogic.com/guide/database-replication

HTH!