我在集群上有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上运行但使用databaseclientfactory的程序验证可以建立连接
我也无法验证-ssl_protocol是否为TLSv1.2
有人可以帮助我解决这个问题。
答案 0 :(得分:1)
您似乎正在使用MLCP JAR中的类来构建新的Java程序。实际上,不支持该方法,这使您有可能在将来的版本中更改某些未声明的事情。如果这是一次性副本,则可以将MLCP用作命令行工具;否则,可以使用MLCP。如果这是您打算长期使用的功能,则应使用MarkLogic的Data Movement SDK,该功能用于此类任务。
如果您在使用DMSDK时遇到问题,建议您尝试一下,然后发布一个新问题。
答案 1 :(得分:0)
感谢戴夫。...一定会尝试
答案 2 :(得分:0)
我认为通过设置setInput_ssl(boolean)和setOutput_ssl(boolean)可以在mlcp上解决问题。