Is it possible to migrate approximately 2TB of data from a Windows-based MarkLogic database to a Linux-based server, considering the platform change from Windows to Linux? If so, could you please provide the steps involved in the process?
Asked
Active
Viewed 65 times
1 Answers
1
There are a few options to migrate from Windows to Linux:
- MLCP copy Use the mlcp
copy
command to copy content and associated metadata from one MarkLogic Server database to another when both are reachable on the network. - MLCP archive Use the mlcp
export
command with an output type of archive to create a database archive that includes content and metadata. You can use the mlcpimport
command to copy the archive to another database or restore database contents.
Normally, backup and restore is the easiest way to move data. However, MarkLogic backup files are platform specific. Backups on a given platform should only be restored onto the same platform. So, backup and restore isn't a good option when changing from Windows to Linux.

Mads Hansen
- 63,927
- 12
- 112
- 147
-
1We did something similar when migrating from on-prem windows to Amazon Linux 2. When copying ~2TB through `MLCP` we have witnessed failures (few hundred records out of millions failed). If you are familiar with automated data flow tools (like [Apache NiFi](https://nifi.apache.org/)), you can log and/or reprocess the failures later (instead of comparing the data in source and destination OR running the whole batch multiple times) – P K May 27 '23 at 15:24
-
I am trying to move the data between Windows to Redhat Linux with below mentioned approaches and I have to get the below problems. 1) MarkLogic replication: configuring database replication between the Windows and Linux cluster and getting a problem coupling both clusters. Error: The platform of the local cluster (winnt) doesn't match foreign cluster (linux) – Arunjay Jul 01 '23 at 18:02
-
2) MLCP copy: I have also try MLCP copy approch but also getting below mentioned issue Command : mlcp.bat copy -mode local -input_host localhost -input_port 8003 -input_username admin -input_password admin -output_host xx.xx.xx.xxx -output_port 8003 -output_username admin -output_password admin -thread_count 12 -copy_properties true -max_split_size 1000 ERROR contentpump.DatabaseContentReader: RuntimeException reading /thesaurus/copy/123456.xml :java.lang.RuntimeException: Could not buffer value as string 23/07/01 22:09:24 INFO contentpump.DatabaseContentReader: host name: localhost – Arunjay Jul 01 '23 at 18:03