Marklogic 内容泵没有可用的服务器问题

Marklogic content pump no usable server issue

我在集群上安装了 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

谁能帮我解决这个问题。

您似乎正在使用 MLCP JAR 中的 类 来构建新的 Java 程序。这种方法实际上不受支持,并且会让您面临在未来版本中发生变化的风险,这些变化是未经通知的。如果这是一次性副本,您可以使用 MLCP 作为命令行工具;如果这是你打算随着时间的推移使用的东西,你应该使用 MarkLogic 的 Data Movement SDK,用于这样的任务。

我鼓励您尝试一下,然后 post 如果您在使用 DMSDK 时遇到问题,请提出一个新问题。

我认为通过设置 setInput_ssl(布尔值)和 setOutput_ssl(布尔值)可以在 mlcp 上解决问题。