云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

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

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

Replicator被立即安装在每个Artifactory和Artifactory Edge上,但必须启用。看到安装和激活

支持的包类型

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

不支持Windows

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

默认端口

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

JFrog订阅级别

页面内容


安装和激活

先决条件

确保配置了自定义基础URL在Artifactory边缘节点上。

Replicator应该同时在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

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目录中查找准备删除的文件的时间间隔。

replicator.size.of.bulk.sending.bytes

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

Replicator将尝试在每个请求中向目标复制器传输至少这个数量的字节。从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
Artifactory节点id



Replicator日志文件

复制器的日志文件可以在美元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集群之间使用replicator时,在源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。