我在集群上有标记逻辑 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但使用数据库客户端工厂的程序验证了可以建立连接
我也无法验证 -ssl_protocol 是否为 TLSv1.2
有人可以帮我解决这个问题吗?
看起来你正在使用MLCP JAR中的类来构建一个新的Java程序。这种方法实际上不受支持,并且使您面临在未来版本中未经通知更改的风险。如果这是一次性副本,则可以使用 MLCP 作为命令行工具;如果这是您打算随着时间的推移使用的内容,则应使用 MarkLogic 的数据移动 SDK,用于此类任务。
我鼓励您尝试一下,然后在使用DMSDK时遇到问题时发布一个新问题。
我认为通过设置setInput_ssl(布尔值(和setOutput_ssl(布尔值(可以在mlcp上解决问题。