#marklogic #marklogic-9 #mlcp
#marklogic #marklogic-9 #mlcp
Вопрос:
У меня установлен mlcp (версия 9.0.4) на сервере приложений, подключающемся к базе данных DB1 на сервере баз данных (версия ML 9.0.4)
Учтите: леса DB1 находятся в /data/db_data/Forests /forest1 DB2 прослушивает порт 1111
Я пытаюсь запустить следующее на сервере приложений
./mlcp.sh import -mode local -host DBSERVER -port 1111 -user uname -password xxx -input_file_path file:///DBSERVER/data/db_data/Forests/forest1 -input_file_type forest
Леса DB1 в леса DB2 (обе базы данных запущены на одном хосте).
похоже, что mlcp ищет путь на сервере приложений вместо DBSERVER и, следовательно, выдает ошибку: путь к файлу ввода не существует. Как правильно это сделать?
Я могу скопировать mlcp, но хотел подтвердить:
- этот параметр не работает
- копирование mlcp кажется более медленным из-за заданных условий фильтрации.
Прямой вопрос был бы — каков наилучший способ переноса данных из одной базы данных контента в другую базу данных контента? MLCP copy делает это, но для меня это слишком медленно.
Комментарии:
1. Привет, Майкл, спасибо за ответ. В MLCP есть опция, с помощью которой я могу перенести данные из автономного леса в другую базу данных, просто пытаясь заставить эту опцию работать. ссылка: docs.marklogic.com/guide/mlcp/extract#id_49096 однако я могу сделать это в своей локальной системе, создав две базы данных DB1 и DB2, где я отключил лес DB1 и использовал опцию импорта mlcp для переноса данных в DB2.
2. Проблема в том, что если я запускаю ту же команду с удаленного сервера, у меня не работает, когда я говорю «удаленный сервер», я имею в виду, что mu MLCP установлен на другом сервере, который DB1 или DB2. Прямой вопрос был бы таков: каков наилучший способ переноса данных из одной базы данных контента в другую базу данных контента? MLCP copy делает это, но для меня это слишком медленно.
Ответ №1:
Отвечая на вопрос из вашего комментария: каков наилучший способ переноса данных из одной базы данных контента в другую базу данных контента на том же хосте / кластере.
Я предполагаю, что это будет одноразовый или нечастый процесс. Одним из методов было бы создание реплик лесов для DB1. После синхронизации лесов удалите реплики и назначьте их DB2. Этот метод должен быть намного быстрее, чем MLCP.
И похоже, что основная причина, по которой ваш MLCP не работал, заключалась в некоторых ограничениях MLCP. Из документации (Ограничения прямого доступа):
Когда вы используете mlcp с прямым доступом, данные вашего леса должны быть доступны с хоста (ов), обрабатывающего входные данные. В распределенном режиме леса должны быть доступны с узлов вашего кластера Hadoop. В локальном режиме леса должны быть доступны с хоста, на котором выполняется mlcp.