View Categories

Rpm 方式安装 Artifactory 集群

第一个节点安装:

1. 下载安装包

1) 安装包下载地址:https://jfrog.com/download-jfrog-platform/

您可下载最新版或指定历史版本(建议安装最新版)。
2) 您也可在服务器上直接下载安装包,以 7.71.11 为例:

$ wget https://releases.jfrog.io/artifactory/artifactory-pro-rpms/jfrog-artifactory-pro/jfrog-artifactory-pro-7.71.11.rpm

2. 安装

$ yum install -y jfrog-artifactory-pro-7.71.11.rpm

默认安装目录说明:
应用目录:/opt/jfrog/artifactory/app/
配置目录:/opt/jfrog/artifactory/var/

3. 配置数据库

(可选。以 MySQL 为例, 其他配置参考 《Artifactory 安装 – 数据库配置》)
如当前没有数据库,通过如下语句创建:

CREATE DATABASE artdb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'artifactory'@'%' IDENTIFIED BY 'password';
GRANT ALL on artdb.* TO 'artifactory'@'%';
FLUSH PRIVILEGES;

下载 MySQL jdbc jar 包,并拷贝至 /opt/jfrog/artifactory/var/bootstrap/artifactory/tomcat/lib/:
(下载地址:https://dev.mysql.com/downloads/connector/j/), 如:

$ wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.13.tar.gz
$ tar zxf mysql-connector-java-8.0.13.tar.gz
$ cp mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar /opt/jfrog/artifactory/var/bootstrap/artifactory/tomcat/lib/

修改数据库配置:
编辑配置文件 /opt/jfrog/artifactory/var/etc/system.yaml, 添加 database 部分,完整示例如下:

configVersion: 1
shared:
    node:
        id: "art1"
        ip: "192.168.56.13"
        haEnabled: true
        taskAffinity: any
    database:
        type: mysql
        driver: com.mysql.jdbc.Driver
        url: "jdbc:mysql://192.168.56.13:3306/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false"
        username: artifactory
        password: password

说明:
shared.node.id:  自定义,如 art1, art2…
shared.node.ip:  本机 IP, 如 192.168.56.13
shared.node.haEnabled:  用于集群配置,值为 true
shared.node.taskAffinity:  用于集群配置,默认所有节点均执行Artifactory应用内部任务

4. 配置存储

(可选。以 本地存储 为例, 如不配置,默认存储在安装目录 /opt/jfrog/artifactory/var/data/artifactory/,其他存储方式请参考《Artifactory 安装 – 存储配置》)
编辑配置文件 /opt/jfrog/artifactory/var/etc/artifactory/binarystore.xml, 添加以下部分:

<?xml version="1.0" encoding="UTF-8"?>
<config version="2">
    <chain> <!--template="cluster-file-system"-->
        <provider id="cache-fs" type="cache-fs">
            <provider id="sharding-cluster" type="sharding-cluster">
                <sub-provider id="state-aware" type="state-aware"/>
                <dynamic-provider id="remote-fs" type="remote"/>
            </provider>
        </provider>
    </chain>

    <provider id="state-aware" type="state-aware">
        <zone>local</zone>
        <fileStoreDir>/opt/jfrog/artifactory/var/data/artifactory/filestore</fileStoreDir>
    </provider>

    <!-- Shard dynamic remote provider configuration -->
    <provider id="remote-fs" type="remote">
        <zone>remote</zone>
    </provider>

    <provider id="sharding-cluster" type="sharding-cluster">
        <readBehavior>crossNetworkStrategy</readBehavior>
        <writeBehavior>crossNetworkStrategy</writeBehavior>
        <redundancy>2</redundancy>
        <lenientLimit>1</lenientLimit>
        <property name="zones" value="local,remote"/>
    </provider>

</config>

说明:
fileStoreDir: 二进制文件存储实际目录, 请根据实际路径进行配置
redundancy: 副本数,默认为 2。如集群 3 个节点,配置为 2,一份二进制文件将随机存储在其中 2 节点。
说明:
fileStoreDir: 二进制文件存储实际目录, 请根据实际路径进行配置
(配置后,因 Artifactory 默认以 artifactory 用户运行,需对存储目录授权)

$ chown -R artifactory:artifactory  /opt/jfrog/artifactory/var/data/

redundancy: 副本数,默认为 2。如集群 3 个节点,配置为 2,一份二进制文件将随机存储在其中 2 节点。

5. 启动 Artifactory

systemctl start artifactory

6. 检查日志

tail -f /opt/jfrog/artifactory/var/log/console.log

日志有如下输出,启动成功:

###############################################################
###   All services started successfully in 50.958 seconds   ###
###############################################################

7. 访问页面

http://192.168.56.13:8082
默认用户名密码: admin/password

提示:
进入页面后需填写 License,您可联系 JFrog 商务以获取。HA 环境每个节点需要单独的一个 License,如您部署 3 节点,登录页面后,您可添加 3 个 License,并继续部署其余节点。
 

其他节点安装:

8. 创建安装目录

参考步骤 1,2

9. 配置数据库

(参考步骤 2,与第一个节点连接同一个数据库)
注意 id,ip 各个节点应不同。id 如改为 art2, art3…, ip 改为本机 IP,如 192.168.56.14。
编辑配置文件 /root/jfrog/artifactory/var/etc/system.yaml, 添加 database 部分,完整示例如下:

configVersion: 1
shared:
    node:
        id: "art2"
        ip: "192.168.56.14"
        haEnabled: true
        taskAffinity: any
    database:
        type: mysql
        driver: com.mysql.jdbc.Driver
        url: "jdbc:mysql://192.168.56.13:3306/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false"
        username: artifactory
        password: password

10. 配置存储

无需配置,将自动同步 1 节点的配置。
注意,如单独配置了自定义路径,需在当前节点创建对应目录,并赋予 artifactory 权限,如:

$ mkdir -p /your_path/
$ chown -R artifactory:artifactory /your_path/

11. 拷贝 master.key【重要】

拷贝第一个节点的 $ARTIFACTORY_HOME/var/etc/security/master.key 到本节点的对应目录,如无目录需创建:

$ mkdir -p /root/jfrog/artifactory/var/etc/security/
$ scp root@<1节点 ip>:/root/jfrog/artifactory/var/etc/security/master.key /root/jfrog/artifactory/var/etc/security/
$ chown -R 1030:1030 /root/jfrog/artifactory/var/etc/security/

12. 安装并启动

参考步骤 5,6,7
节点安装完成。可按相同步骤继续安装其他节点。