云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

复制在各种用例中用于同步远程Artifactory实例之间的存储库。根据存储库的大小,这可能需要传输大量的数据。由于传输速度受到带宽和网络延迟的限制,这是一个可能需要数小时甚至数天才能完成的过程。

从Artifactory 6.0版本开始提供,Replicator是一个在使用JFrog Distribution分发软件时优化复制的进程,极大地减少了网络上的负载和从源Artifactory实例到目标实例或Edge节点同步发布包所花费的时间。

复制器在每个Artifactory和Artifactory Edge上都是开箱即用的,但需要启用。看到安装和激活

支持的包类型

Replicator实现了以下对象的并发流复制任何Artifactory支持的包类型。对于已索引的Maven包,Replicator在同一包的不同版本之间实现差异复制。

不支持Windows

Replicator不能在基于Windows的系统上工作

默认端口

默认情况下,复制器使用端口80489092。如果您在防火墙后面运行,请确保这些端口可以访问。

JFrog订阅级别

页面内容


安装和激活

先决条件

的配置自定义基础URL在人工边缘节点上。

复制器应该同时在Artifactory和Artifactory Edge上启用。

启动Replicator的方法如下:

  • 设置环境变量JF_REPLICATOR_ENABLED= true在启动Artifactory之前(无论是功能齐全的安装还是Edge节点)。
    或者,您可以编辑JFROG_HOME美元/ artifactory / app / bin / artifactory.default包括:出口JF_REPLICATOR_ENABLED = true。
  • 当使用Docker运行时,使用:

    Docker运行…-e JF_REPLICATOR_ENABLED=true…
  • 属性中设置以下属性system.yaml文件。

    Replicator: enabled: true

如果在安装Enterprise Plus license时已经运行了Artifactory,则需要重新启动Artifactory才能使license生效并启用Replicator。


配置复制器

使用两个配置文件配置Replicator的行为:

JFROG_HOME美元/ artifactory / etc / system.yaml

Artifactory 7.0版本的突破性变化

  • 所有配置已从replicator.yamlArtifacotrysystem.yaml文件。
  • tx目录,包含临时数据,已移动到JFROG_HOME美元/ artifactory / var / bootsrtap /复制因子/ tx
  • proflilingDisabled参数已弃用。要启用/禁用复制器分析,请使用replicator.profiling.enabled中的配置system.yaml文件。
replicator.internalUrl

可选(默认值:http://localhost (replicator.port):

在内部网络中访问Replicator的URL。在默认安装中,使用“localhost”是合适的设置,因为只有本地Artifactory实例需要访问Replicator。因为它将默认为http://localhost: [replicator.port建议不要设置此属性。

replicator.port

可选(默认值:8048

复制器服务器将监听的内部端口沟通用路由器。

replicator.tls.skipVerifyCertificate

可选[默认值:false]

指定Replicator在调用远程HTTPS url时是否跳过对自签名证书的验证。小心使用。

logging.application.level

可选[默认值:info]

replicator-service.log文件的日志级别。选项有:warn, info, debug

replicator.profiling.allowedHost

可选[默认值:localhost]

允许访问主机分析数据。默认情况下,只允许同一主机上的客户端访问分析数据(推荐)。如果您想允许从所有主机访问,请使用保留值'all'。

replicator.profiling.port

可选[默认值:8041]

监听端口以获取分析数据。

replicator.profiling.enabled

可选[默认值:true]

禁用剖析。不会监听分析端口。

replicator.txDir.cleanUpAgeSecs

可选[默认值:2592000(30天)]

文件被认为可以删除的秒数。这里保存的文件是复制器工作期间保存的文件块。

replicator.txDir.cleanUpIntervalSecs

可选[默认值:cleanUpIntervalSecs(1小时)]

复制器在tx dir中查找准备删除的文件的时间间隔。

replicator.size.of.bulk.sending.bytes

可选[默认值:8,000,000 (8 MB)]

复制器将尝试将每个请求中的至少此字节量传输到目标复制器。从Artifactory 6.12.0开始提供

replicator.max.connections.per.host.internal.client

可选[默认值:0(无限制)]

到本地Artifactory的最大http连接数(0表示无限制)。从Artifactory 6.12.0开始提供


JFROG_HOME美元/ artifactory / var / etc /复制因子/ replicator.artifactory.yaml该文件为Replicator提供了有关如何访问其关联Artifactory实例的信息。如果删除了该文件,那么当您重新启动Artifactory时,该文件将以其默认值重新生成。但是,如果该文件存在,则在重新启动Artifactory时不会覆盖它。

baseUrl

默认值:http://localhost:8081/artifactory

关联Artifactory实例的基URL。

accessToken
一个访问令牌,Replicator应该使用它来访问关联的Artifactory实例
artNodeId
人工节点id



复制器日志文件

复制器的日志文件可以在美元JFROG_HOME / artifactory / var / log /复制因子

Replicator将旋转并压缩旧的日志文件。


使用代理

Replicator支持通过前向HTTP代理进行通信。

在向Artifactory注册后,Replicator将请求默认代理设置,并在需要时使用它们。
支持已验证的代理服务器(通过基本身份验证)。


使用反向代理

复制器使用http流。如果你使用NGINX这样的反向代理,你应该确保反向代理支持http 1.1,不缓冲响应。
你可能想把指令proxy_buffering;只能在location部分中。


proxy_http_version 1.1;chunked_transfer_encoding;proxy_buffering;



高可用性

当在Artifactory HA集群之间使用复制器时,不需要在源Artifactory集群上进行特殊配置,但是,目标Artifactory/Artifactory Edge集群必须在特殊HTTP标头上配置具有粘性的反向代理:X-JFRPL-TXID
下面的代码片段展示了一个使用NGINX的配置示例:
上行复制器{hash $http_x_jfrpl_txid;服务器10.1.16.31:8082;服务器10.1.16.32:8082;} location /replicator/ {proxy_pass http://replicator;}

上面的端口应该与Router的端口相同,该端口在docker-compose.yml文件。

版权所有©2023 JFrog Ltd.