首页 > 解决方案 > 如何从应用程序服务器运行 mlcp 导入林

问题描述

我在应用程序服务器上安装了 mlcp (v9.0.4) 连接到数据库服务器中的 DB1 数据库 (ML v 9.0.4)

考虑:DB1 森林位于 /data/db_data/Forests/forest1 DB2 侦听端口 1111

我正在尝试在应用程序服务器上运行以下

./mlcp.sh import -mode local -host DBSERVER -port 1111 -user uname -password xxx -input_file_path file:///DBSERVER/data/db_data/Forests/forest1 -input_file_type forest

DB1 森林到 DB2 森林(两个数据库都在同一主机上运行)。

mlcp 似乎在应用程序服务器而不是 DBSERVER 中寻找路径,因此引发错误:输入文件路径不存在。正确的方法是什么?

我可以做 mlcp 复制,但想确认:

  1. 此选项不起作用
  2. 由于给定的过滤条件,mlcp 复制似乎较慢。

直接的问题是 - 将数据从一个内容数据库迁移到另一个内容数据库的最佳方法是什么?MLCP 副本可以做到这一点,但它对我来说太慢了。

标签: marklogicmarklogic-9mlcp

解决方案


回答您评论中的问题:将数据从一个内容数据库迁移到同一主机/集群中的另一个内容数据库的最佳方法是什么。

我假设这将是一个一次性或不频繁的过程。一种方法是为 DB1 创建副本林。同步林后,删除副本并将它们分配给 DB2。这种方法应该比 MLCP 快得多。

看起来您的 MLCP 无法正常工作的主要原因是 MLCP 的某些限制。从文档(直接访问的限制):

当您将 mlcp 与直接访问一起使用时,您的林数据必须可以从处理输入的主机访问。在分布式模式下,必须可以从 Hadoop 集群中的节点访问森林。在本地模式下,森林必须可以从您执行 mlcp 的主机访问


推荐阅读