安装快速入门指南- RPM

马修•王
2022-03-21 07:31

你会得到什么?

用户添加图片

关于如何使用RPM/Debian安装为生产就绪环境安装和配置Artifactory 7 HA的快速开始指南。在本指南中,我们将逐步设置Postgres外部数据库、多个人工节点和NGINX反向代理(也可以作为负载均衡器)。每个Artifactory节点至少需要一个服务器。注意,每个Artifactory节点都需要一个许可证。我们还建议准备一种云桶存储(例如S3)。要完全掌握本指南的内容,就需要很好地理解基于linux的操作系统。

在开始之前

系统需求

操作系统

此安装需要以下Linux系统版本:

  • Centos 7。倍、8.倍
  • RPM 7。倍、8.倍
  • SUSE linux 12 SP 5 .单击“确定”

计算环境

单节点最低要求:4核CPU, 8GB内存。

我们建议使用易于扩展的机器,以防Artifactory使用量增加。

负载均衡器

本例安装使用NGINX负载均衡器来控制多个Artifactory HA节点。

港口

以下端口需要在内部使用:8081、8082、8040、8045、8048、9092、8070、8086、8046、8047、8049、8091、8061、8062。

端口8081和8082还需要在VM/节点-和您的LB/反向代理之间可以从外部访问。它们不需要暴露给最终用户。

其他端口只需要在VM中可用,不被其他进程占用——其中一些端口是通过系统配置的。Yaml,如果它不能提供。

JFrog许可证

每个HA节点需要一个Artifactory许可证。

安装数据库

我们强烈建议与Artifactory一起使用外部DB——内置的Derby数据库性能会随着您上传更多工件而下降,并且不支持Artifactory HA。我们建议将您的数据库安装在一个独立的服务器上,远离您的Artifactory实例,但在最小的延迟(相同的局域网)内。

Artifactory支持多种数据库类型,包括mysql, oracle, mariaDB。您可以在下面的术语表中找到到其他受支持数据库的链接。有关更多数据库建议,请参见//m.si-fil.com/whitepaper/best-practices-for-managing-your-artifactory-database/

在这个快速入门指南中,我们将介绍Postgres的设置。

PostgreSQL支持:

  • 9.5 (EOL)
  • 9.6 (EOL很快)
  • 10.倍
  • 11.倍
  • 12.倍
  • 13.倍

外部PostgreSQL设置

1.登录到DB,执行如下命令:
CREATE USER artifactory WITH PASSWORD
创建一个UTF8的数据库
授予数据库artifactory上的所有特权给artifactory;
2.从PostgreSQL JDBC驱动程序下载站点下载对应你的PostgreSQL版本的JDBC驱动程序,并将下载的jar文件复制到$JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib目录下。确保您的驱动程序具有所有用户的读权限。注意,这个目录将在安装RPM/Debin时创建,或者您可以预先创建它。
3.在系统中添加数据库连接明细。yaml配置文件,在$JFROG_HOME/artifactory/var/etc/system.yaml下
共享:
数据库:
类型:postgresql
司机:org.postgresql.Driver
Url: jdbc:postgresql://<你的db Url,例如:localhost:5432>/artifactory
用户名:artifactory
密码:密码

确保保持YAML间距一致!我们建议使用2或4个空格缩进,但要确保始终一致。

4.从Artifactory服务器启用PostgreSQL连接:

a.在“/data/pg_hba.conf”中增加如下一行。主机artifactory artifactory md5

b.在/data/postgresql.conf中增加如下一行(如果已经存在,请更新)

listen_addresses = ' * '

我们建议为数据库提供相当大的存储空间,即使它只存储元数据。它应该至少是您预期文件存储大小的2/10。

配置filestore

二进制存储可以在“$JFROG_HOME/var/etc/artifactory/ binarstore .xml”中配置。下面是使用Amazon S3桶的示例配置。注意,这个文件/目录将在安装RPM/Debin时创建,或者您可以预先创建它。

下面是一个示例S3v3 HA配置

<配置version = " 2 " >
<链模板= " cluster-s3-storage-v3 " / >

端点> < s3.amazonaws.com > < /端点
< bucketName > bucketName < / bucketName >
<路径> pathPrefix > < /路径
<地区> s3Region > < /地区
<标识> yourIdentity > < /身份
<凭证> yourCredentials < /证书>
真正< usePresigning > < / usePresigning >
600年< signatureExpirySeconds > < / signatureExpirySeconds >
> < /供应商
< / config >

安装步骤

1.在Red Hat兼容的Linux发行版上,以根用户身份将Artifactory作为服务安装。Yum install -y jfrog-artifactory--.rpm

2.开启系统高可用性。yaml(并添加DB细节,如果还没有完成):共享:
extraJavaOpts: "-Xms512m -Xmx4g"
节点:
haEnabled:真
taskAffinity:任何
在其他节点上,复制到$JFROG_HOME/var/etc/security/master。键从第一个节点转移到相同位置。第一个节点将在第一次启动时自动生成该文件。同样,确保与system.yaml中的间距一致。如果您想提前生成自己的密钥,可以按照这里的指导来做。

3.配置文件存储在$JFROG_HOME/var/etc/artifactory/ binarstore .xml。见//m.si-fil.com/confluence/display/JFROG/Configuring + + Filestore # ConfiguringtheFilestore-AmazonS3SDKClusterBinaryProvider。在本指南中,我们将使用Amazon SDK提供程序。<配置version = " 2 " >
<链模板= " cluster-s3-storage-v3 " / >

端点> < s3.amazonaws.com > < /端点
< bucketName > bucketName < / bucketName >
<路径> pathPrefix > < /路径
<地区> s3Region > < /地区
<标识> yourIdentity > < /身份
<凭证> yourCredentials < /证书>
真正< usePresigning > < / usePresigning >
600年< signatureExpirySeconds > < / signatureExpirySeconds >
> < /供应商
< / config >

4.使用以下命令管理Artifactory:服务artifactory start|stop5.检查console.log,查看以下启动成功的打印输出tail -f $JFROG_HOME/artifactory/var/log/console.log
2021-09-20T18:25:44.992Z [jfrou] [INFO] [470978b404ac5eac] [local_topology.]Go:270][主要]-
###############################################################
###所有服务在52.558秒内成功启动
###############################################################

6.一旦Artifactory启动,UI应该可以在端口8082上访问。通过运行以下REST API检查Artifactory是否处于HA模式,并在插件数组中查找“HA”:

$ curl localhost:8082/artifactory/api/system/version -u admin:密码

"version": "7.25.7",
"revision": "72507900",
"addons": ["ha",…
如果没有,则意味着Artifactory没有在HA模式下启动。另外,在启动期间,Artifactory-service.log还将打印出“Artifactory HA”的ASCII图。如果不在HA模式下,它将打印“Artifactory Pro”。

7.新节点要加入集群,这些节点必须连接到相同的数据库并具有相同的主密钥。对于其他节点,重复步骤1 - 6。注意,每个Artifactory节点都需要一个许可证。

安装后的步骤

SSL

启用SSL可以使用反向代理或负载均衡器,如Nginx, Apache, HAProxy, F5等…Artifactory有一个内置的配置生成器Nginx和Apache在UI下Admin -> Http设置。您可以将配置放在/etc/nginx或/etc/httpd下的conf.d文件夹中

###########################################################
这个配置是由JFrog Artifactory生成的
###########################################################

在配置中设置HTTPS时添加SSL项
TLSv1.1 TLSv1.2 TLSv1.3;
ssl_certificate /etc/ssl/private/server.key;
ssl_certificate_key /etc/ssl/private/server.crt;
ssl_session_cache共享:SSL: 1米;
ssl_prefer_server_ciphers;
##服务器配置
服务器{
监听443 ssl;
80;
server_name ~ \(? <回购>。+)。artifactory_host artifactory_host;

If ($http_x_forwarded_proto = ") {
设置$http_x_forwarded_proto $scheme;

##应用程序特定的日志
## access_log /var/log/nginx/artifactory_host-access.log计时;
##错误日志/var/log/nginx/artifactory_host-error.log;
重写^/$ /ui/ redirect;
重写^/ui$ /ui/重定向;
重写^ / (v1 | v2) / (. *) / artifactory / api /码头工人/回购美元/ 1 / 2美元;
chunked_transfer_encoding;
client_max_body_size 0;
位置/ {
proxy_read_timeout 2400年代;
proxy_pass_header服务器;
proxy_cookie_path ~ * ^ /。* /;
proxy_buffer_size 128 k;
Proxy_buffers 40 128k;
proxy_busy_buffers_size 128 k;
proxy_pass http://localhost: 8082;
proxy_set_header x - jfrog - overrides - base - url $http_x_forwarded_proto://$host:$server_port;
proxy_set_header x - forwarded port $server_port;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto
主机$http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

位置~ ^/artifactory/ {
proxy_pass http://localhost: 8081;


反向代理也可以配置为处理节点之间的负载均衡流量。在NGINX的例子中,你可以在顶部添加这段代码:上游工艺品{
服务器10.150.0.222:8082;
服务器<附加节点IP>:8082;

上游手工-直接{
服务器10.150.0.222:8081;
服务器<附加节点IP>:8081;
然后,修改proxy_pass行为:proxy_pass http://localhost: 8082;→proxy_pass http://artifactory;
proxy_pass http://localhost: 8081;→proxy_pass http://artifactory-direct;

否则,您可以使用专用的负载均衡器来处理流量均衡。

请注意,为了支持docker请求,您需要一个反向代理或负载均衡器来处理请求重写。此外,如果您计划使用一个终止SSL的负载均衡器和一个反向代理,则需要将以下标题硬编码为负载均衡器的详细信息。

NGINX的:proxy_set_header X-JFrog-Override-Base-Url https://:;
proxy_set_header X-Forwarded-Port
proxy_set_header X-Forwarded-Proto https

调优Artifactory(可选)

我们有以下可选的调优部分来优化Artifactory以适应更大的负载——当Artifactory实例承受更大的负载时,记住这些参数是个好主意。

堆大小

javaOpts(堆大小)。Yaml -我们建议至少设置这个:共享:
extraJavaOpts: "-Xms512m -Xmx4g"

数据库连接

在system.yaml中自定义数据库连接:artifactory:
数据库:
maxOpenConnections: 200

访问:
数据库:
maxOpenConnections: 200

元数据:
数据库:
maxOpenConnections: 200
根据经验,我们需要(最多)一些DB连接,基于以下公式:
总连接数=(节点数)* ((artifact .database. database.)maxOpenConnections * 2) + access.database.maxOpenConnections + metadata.database.maxOpenConnections) + 50

Tomcat线程

优化system.yaml中的Tomcat线程:artifactory:
tomcat:
连接器:
maxThreads: 400

访问:
tomcat:
连接器:
maxThreads: 100
当修改Access maxThreads时,需要更新$JFROG_HOME/artifactory/var/etc/artifactory/artifactory.system。属性文件包含:

artifactory.access.client.max.connections =

异步线程池

调优同一文件中的异步线程池。注意corePoolSize不能超过CPU核数的8倍:artifact .async. corepoolsize = 32
artifactory.async.poolMaxQueueSize = 100000

升级步骤

RPM升级:

1.从负载均衡器中移除第一个节点。所有请求都将被定向到其他节点。检查$HOME/logs/request.log和ARTIFACTORY_URL/api/任务(搜索“running”),以确保Artifactory完全处于非活动状态。

2.在目标集群中,只保持一个节点运行,并对其余节点执行安全关机。
服务停止

3.在已停止的节点上,以根用户身份将Artifactory作为服务安装在与Red Hat兼容的Linux发行版上。
Yum -y install jfrog-artifactory--

4.检查以下文件,确认迁移已经成功完成:
迁移日志:$JFROG_HOME/artifactory/var/log/migration.log
系统。yaml配置:$JFROG_HOME/artifactory/var/etc/system.yaml

这个新创建的文件将包含新格式的当前自定义配置。

5.管理Artifactory。
服务artifactory start|stop

6.检查console.log,查看以下启动成功的打印输出tail -f $JFROG_HOME/artifactory/var/log/console.log
2021-09-20T18:25:44.992Z [jfrou] [INFO] [470978b404ac5eac] [local_topology.]Go:270][主要]-
###############################################################
###所有服务在52.558秒内成功启动
###############################################################
7.升级完除运行节点外的所有节点后,对最后一个节点执行步骤2 - 6

要开始使用该产品,您可以使用下面的指南:

快速入门指南:JFrog自托管
快速入门指南:开始
快速入门指南:Maven和Gradle
快速入门指南:npm

术语表

-下载链接://m.si-fil.com/download-jfrog-platform/
—如何管理DB://m.si-fil.com/whitepaper/best-practices-for-managing-your-artifactory-database/
—系统要求://m.si-fil.com/confluence/display/JFROG/System+Requirements
—使用外部数据库:
//m.si-fil.com/confluence/display/JFROG/Oracle
//m.si-fil.com/confluence/display/JFROG/MySQL
//m.si-fil.com/confluence/display/JFROG/Microsoft+SQL+Server
//m.si-fil.com/confluence/display/JFROG/PostgreSQL
//m.si-fil.com/confluence/display/JFROG/MariaDB
-安装Artifactory步骤:
//m.si-fil.com/confluence/display/JFROG/Installing+Artifactory#InstallingArtifactory-RPMInstallation
- Tune Artifactory://m.si-fil.com/knowledge-base/how-do-i-tune-artifactory-for-heavy-loads/
- s3文件存储设置://m.si-fil.com/confluence/display/JFROG/Configuring+the+Filestore#ConfiguringtheFilestore-AmazonS3SDKClusterBinaryProvider
—RPM升级://m.si-fil.com/confluence/display/JFROG/Upgrading+Artifactory#UpgradingArtifactory-RPMUpgrade.1
- Debian升级:
//m.si-fil.com/confluence/display/JFROG/Upgrading+Artifactory#UpgradingArtifactory-DebianUpgrade.1
—反向代理和Docker重写:
//m.si-fil.com/confluence/display/JFROG/Getting+Started+with+Artifactory+as+a+Docker+Registry
//m.si-fil.com/confluence/display/JFROG/HTTP+Settings