0

我将 mlcp 与 ml-gradle 一起使用。一切都在本地运行,但是当我在我的持续集成系统 (Jenkins) 上运行它时,mlcp 命令失败。

我知道 mlcp 支持添加日志记录,但是由于我是通过 gradle 将其拉入,所以我不知道如何进行所需的日志记录更改。

我的系统确实有一个通过环境变量指定的 http 和 https 代理,但是对于这个部署我不需要它们。不过,我不知道 mlcp 是否注意代理环境变量。如果它试图使用代理,部署应该会失败。

所以我有两个问题。

  1. 有没有关于代理和 mlcp 的文档?
  2. 当通过 ml-gradle 触发时,我可以将日志记录添加到 mlcp 吗?
4

1 回答 1

0

当通过 Gradle 或 Maven 将 mlcp 用作库时,您需要在类路径中的某处有一个 log4j.properties 文件。没有它,您将无法从 mlcp 获得任何日志记录。

这是使用 Gradle 的一种方法 - https://github.com/marklogic-community/ml-gradle/tree/master/examples/mlcp-project

另请注意,在 Windows 上,当作为库运行时,mlcp 将报告以下错误:“java.io.IOException:无法在 Hadoop 二进制文件中找到可执行的 null\bin\winutils.exe。” 不过,mlcp 应该仍然可以正常运行 - 几行之后,它还应该记录“org.apache.hadoop.util.NativeCodeLoader - 无法为您的平台加载 native-hadoop 库......在适用的情况下使用内置 java 类”。

于 2017-05-17T11:07:45.637 回答