将内容从一个 Alfresco 实例传输到另一台服务器上的另一个(相同版本)

Transfer content from one Alfresco instance to another (same version) on another server

将存储库内容从一个 Alfresco(企业版)传输到不同服务器上的另一个实例 运行 的最佳/更好方法是什么。目前我们将整个 Alfresco 数据库和文件系统复制到 alf_data 下,但这需要服务器停机。

我需要一种没有停机时间的机制,并且可以将存储库数据从一个实例复制到另一个实例。有什么办法可以做到吗?

你的意图是什么?备用系统、真实副本、带有数据子集的外部私有云? 如果您只需要一个 100% 的克隆,您可以编写备份和恢复脚本,而无需在源服务器上停机。停机时间仅限于目标系统上的数据库和索引恢复。您的脚本不应从 solr 索引复制生命数据 - 而是使用 solr 备份作业完成的备份。根据您使用的数据库,在线数据库备份应该不是问题。 我们的 Alfresco Virtual Appliance 已为此任务预配置脚本和作业,以从快照备份启动额外的 alfresco 实例,而无需复制内容存储(我们称之为 Alfresco Time Machine)。

如果您的目标是外部私有云服务器或道路勇士解决方案 ecm4u 有一个商业露天模块可以非常有效地同步修改节点的子集,包括 metadata/types/aspects(类型和方面列表需要定义)。此同步提供了一个用于自动化的 REST 接口,也可以从 alfresco 的管理控制台手动执行。我们支持 alfreso 版本和版本的混合。目前,此同步作为单向同步实现,但可以扩展为双向同步。

除了Heiko的解决方案,您可能还对以下内容感兴趣:

  • 开箱即用的 replication service,这不利于复制整个存储库,但可用于将少数节点从一台服务器复制到另一个.

  • A solution from Parashift 允许服务器之间节点的单向和双向复制。

  • 关于使用 Apache Camel 和 Apache Kafka 在服务器之间复制节点的 Alfresco presentation。这可以通过 Alfresco 的专业服务组织获得,但它可能会在某个时候进入产品。或者您可以将其作为灵感来编写自己的解决方案。

我最近完成了一项任务,即在本地 运行 的 2 个不同端口上安装 2 个露天实例。 在执行某些任务时,我意识到 2 个具有相同存储库 ID 的实例正在产生问题。 我能够按照以下步骤更改其中之一的存储库 ID:

  • 更新alfresco-global.properties:

    db.name="Add new DB Name" 
    

    (Alfresco 将在初始化时创建此处提到的数据库 db.name)

  • 并重启服务器

如果您仍然遇到问题,请尝试删除 alf-data 文件夹下的 solr 个索引。