У меня есть marklogic 9 на кластере. Я пытаюсь выполнить mlcp из одной коллекции в другую на сервере.
Пожалуйста, найдите прикрепленный код ниже
MlcpBean mlcpBean = new MlcpBean();
mlcpBean.setCommand("COPY");
mlcpBean.setInput_database("somehost");
mlcpBean.setCollection_filter("somecollection");
mlcpBean.setInput_host("somehost");
mlcpBean.setInput_port(some port);
mlcpBean.setInput_username("some user id");
mlcpBean.setInput_password("some password");
String[] args1 = mlcpBean.buildArgs();
String[] expandedArgs =
OptionsFileUtil.expandArguments(args1);
// Invoke mlcp
ContentPump.runCommand(expandedArgs); }
When I run the above class it gives me the following error
01:01:00.104 [scheduling-1] WARN c.m.mapreduce.MarkLogicInputFormat - Unable to connect to "********.com" to query source information
01:01:00.104 [scheduling-1] ERROR c.m.contentpump.LocalJobRunner - Error getting input splits:
01:01:00.104 [scheduling-1] ERROR c.m.contentpump.LocalJobRunner - Unable to query source information, no usable hostname found.
Он даже не подключается к хосту.
Я проверил из другой программы, которая не запускает mlcp, но использует базу данныхclientfactory, что соединение может быть установлено
Я также не могу проверить, является ли -ssl_protocol TLSv1.2
Может ли кто-нибудь помочь мне с этим вопросом.
Похоже, вы используете классы из JAR-файла MLCP для создания новой Java-программы. Этот подход на самом деле не поддерживается и подвергает вас риску того, что в будущем выпуске все изменится без предупреждения. Если это одноразовая копия, вы можете использовать MLCP в качестве инструмента командной строки; если это для чего-то, что вы собираетесь использовать в течение долгого времени, вы должны использовать SDK для перемещения данных MarkLogic, предназначенный для таких задач.
Я рекомендую вам попробовать это, а затем опубликовать новый вопрос, если у вас возникли проблемы с DMSDK.
Я думаю, установив setInput_ssl (логическое значение) и setOutput_ssl (логическое значение), проблема может быть решена на mlcp.