Как запустить лес импорта mlcp с сервера приложений

#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, но хотел подтвердить:

  1. этот параметр не работает
  2. копирование 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.