当前位置: 首页 > article >正文

九、安装artifactory并配置PostgreSQL--失败了

八、centos7安装mysql5.7-CSDN博客

基于八,克隆出一个新的虚拟机,用来安装制品库并配置mysql数据库。

比较官方的文章:

How to install JFrog Artifactory on CentOS 7 | CentLinux

仅参考,未使用(配置的centos自带的数据库,不会用)

目录

一、环境准备

1.查看jdk版本

2.查看mysql服务

3.安装jdk

二、安装artifactory并配置MySQL--失败

1.使用npm包--失败

2.使用tar.gz包--失败

设置环境变量

启动artifactory--浏览器无法访问

配置Mysql

三、安装PostgreSQL


一、环境准备

1.查看jdk版本

java -version   未找到java命令,说明未安装

2.查看mysql服务

sudo service mysqld status
sudo service mysqld start

本机mysql服务是启动的,sql yong也连接上了。

3.安装jdk

wget https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.rpm
yum install -y jdk-17.0.6_linux-x64_bin.rpm
 
java -version

cd /usr/lib/jvm/jdkxxxx

二、安装artifactory并配置MySQL--失败

1.使用npm包--失败

之前下载了npm安装包:jfrog-artifactory-oss-7.90.8.rpm

放到虚拟机里,执行

sudo yum install jfrog-artifactory-oss-7.90.8.rpm -y

报错:

错误:软件包:jfrog-artifactory-oss-7.90.8-79008900.x86_64 (/jfrog-artifactory-oss-7.90.8)
          需要:libstdc++.so.6(CXXABI_1.3.9)(64bit)
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

解决方法:

执行 yum repolist

[root@localhost ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
源标识                                                                             源名称                                                                       状态
base/7/x86_64                                                                      CentOS-7 - Base                                                              10,072
extras/7/x86_64                                                                    CentOS-7 - Extras                                                               526
mysql-connectors-community/x86_64                                                  MySQL Connectors Community                                                      258
mysql-tools-community/x86_64                                                       MySQL Tools Community                                                           108
mysql57-community/x86_64                                                           MySQL 5.7 Community Server                                                      696
updates/7/x86_64                                                                   CentOS-7 - Updates                                                            6,173
repolist: 17,833
[root@localhost ~]# yum  provides libstdc++.so.6
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
libstdc++-4.8.5-44.el7.i686 : GNU Standard C++ Library
源    :base
匹配来源:
提供    :libstdc++.so.6

关闭了防火墙  systemctl stop firewalld

执行  sudo yum install -y libstdc++-4.8.5-44.el7.i686

之后继续安装artifactory,仍然报错。

2.使用tar.gz包--失败

提前下载了 jfrog-artifactory-oss-7.90.8-linux.tar.gz, 上传到虚拟机

tar -zxvf jfrog-artifactory-oss-7.90.8-linux.tar.gz  -C  /usr/local
cd /usr/local
ln -s /usr/local/artifactory-oss-7.90.8/ /usr/local/jfrog
ls -al /usr/local/jfrog/

安装后的目录只有app /  var ,具体是干啥的没有搞明白,后面在研究

设置环境变量

# 编辑
sudo vim /etc/profile
或者用
vi /etc/profile

# 添加
export ARTIFACTORY_HOME=/usr/local/jfrog

# 生效
sudo source /etc/profile
或者用
. /etc/profile

启动artifactory--浏览器无法访问

(未启动时,var/log  var/data  var/backup   var/etc/system.yml  都没有,要注意)

cd /usr/loca/jfrog/app/bin
./artifactoryctl start

启动之后,var/logs之类的才会出来

但此时浏览器访问8081端口报404(此时防火墙已经关了,即使开了防火墙开放了8081端口,仍然是404。猜测是mysql未配置的原因)

配置Mysql

mysql -u root -p

因为artifactory区分大小写,所以创建一个区分大小写的数据库(使用utf8_bin区分大小写)

create database if not exists artifactory default character set utf8 collate utf8_bin;

之后 exit退出

cd /usr/local/jfrog/var/etc
vi system.yaml

artifactory运行内存配置

shared:
    ## Java 17 distribution to use
    #javaHome: "JFROG_HOME/artifactory/app/third-party/java"

    ## Extra Java options to pass to the JVM. These values add to or override the defaults.
   
    extraJavaOpts: "-Xms512m -Xmx2g"

extraJavaOpts原本是注释掉的,在运行时仍然会按照这个设置运行内存,可能在tomcat里设置了。这里我取消注释了。

配置数据库

database:
    type: mysql
    driver: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/artifactory?useUnicode=true&useSSL=false&characterEncoding=UTF-8&rewriteBatchedStatements=true&allowMultiQueries=true&serverTimezone=UTC
    username: <User name>
    password: <Password>

这个配置有两个问题

1.username后面是否需要空格

2.password是明文吗,有安全风险

安装mysql驱动

cd /usr/local/jfrog/app/artifactory
curl -O https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.2.0/mysql-connector-j-8.2.0.jar

启动artifactory

2024-09-01T08:18:49.539Z [shell] [WARN ] [] [installerCommon.sh:819        ] [main] - System.yaml validation failed
[WARN ] Error while initializing File resolver : yaml: line 68: could not find expected ':'

yaml文件,: 后面必须留空格,上面说的username留空格的问题解决了。

再次启动artifactory

访问浏览器报404,var/log下的日志提示

2024-09-01T08:25:54.730Z ^[[36m[jfrou]^[[0m ^[[34m[INFO ]^[[0m [1048b85c0cbc30ad] [security_keys.go:172          ] [main                ] [] - Master key is missing. Pending for 115 seconds with 5m0s timeout
2024-09-01T08:25:55.071Z ^[[34;1m[jfmd ]^[[0m ^[[34m[INFO ]^[[0m [                ] [security_keys.go:172          ] [main                ] - Master key is missing. Pending for 115 seconds with 2m0s timeout [init]
2024-09-01T08:25:55.400Z ^[[36;1m[jfevt]^[[0m ^[[34m[INFO ]^[[0m [5c060f643aa64c4d] [security_keys.go:172          ] [main                ] [                ] - Master key is missing. Pending for 115 seconds with 2m0s timeout [startup]
2024-09-01T08:25:56.256Z ^[[[35[jfob ]^[[0m ^[[34m[INFO ]^[[0m [5f7d4d057d2fb922] [security_keys.go:172          ] [main                ] - Master key is missing. Pending for 115 seconds with 2m0s timeout [startup]
2024-09-01T08:25:59.745Z ^[[36m[jfrou]^[[0m ^[[34m[INFO ]^[[0m [1048b85c0cbc30ad] [security_keys.go:172          ] [main                ] [] - Master key is missing. Pending for 120 seconds with 5m0s timeout
2024-09-01T08:25:59.746Z ^[[34;1m[jfmd ]^[[0m ^[[31;1m[ERROR]^[[0m [                ] [keys.go:23                    ] [main                ] - Failed resolving master key: failed resolving 'shared.security.masterKey' key; file does not exist: /usr/local/jfrog/var/etc/security/master.key
goroutine 1 [running]:
runtime/debug.Stack()
        /src/runtime/debug/stack.go:24 +0x5e
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc0004be150, {0x20da9f8, 0xc000989e30}, {0xc0003b2750, 0x90}, {0x0, 0x0, 0x0})
        goroot/pkg/mod/jfrog.com/jfrog-go-commons/v7@v7.111.0/pkg/log/standard_logger.go:98 +0xc6
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x20da9f8, 0xc000989e30}, {0x20deea8, 0xc00093ceb0}, {0x20e92c8?, 0xc0004be150})
        jfrog.com/metadata/v7@v7.72.6/services/common/keys.go:23 +0x1c3
main.main()
        jfrog.com/metadata/v7@v7.72.6/metadata.go:35 +0x31d
 [init]
Caused by: org.jfrog.storage.dbtype.DbTypeNotAllowedException: DB Type mysql is not allowed: Cannot start the application with a database other than PostgreSQL. For more information, see JFrog documentation.

(上面的master.key,随机数生成了一个,百度一下这个报错就行)

服了

6.x的版本,应该可以连接mysql。

以后看看,不搞一把,要不mysql白安装了。

三、安装PostgreSQL

9.1centos安装postgres-CSDN博客

创建artifactory账户和数据库

[root@localhost ~]# su - postgres
-bash-4.2$ psql
psql (14.13)
输入 "help" 来获取帮助信息.

postgres=# 

postgres=# CREATE USER artifactory WITH PASSWORD 'artifactory';
CREATE ROLE
postgres=# CREATE DATABASE artidb WITH OWNER=artifactory ENCODING='UTF8'; 
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE artidb TO artifactory; 
GRANT
postgres=# 


输入exit,回车,在输入exit,就退出了

下载数据库驱动

可以去官网下载,但好像artifactory自带了。一会运行试一下

配置artifactory的数据库

        
        type: postgresql
        driver: org.postgresql.Driver
        url: "jdbc:postgresql://localhost:5432/artidb"
        username: artifactory
        password: artifactory

明文密码,有安全风险。以后看看怎么搞

启动artifactory

2024-09-03T13:06:52.690Z ^[[[35[jfob ]^[[0m ^[[34m[INFO ]^[[0m [7cd33b0bf83d7d16] [security_keys.go:185          ] [main                ] - Cluster join: Join key is missing. Pending for 115 seconds with 2m0s timeout [startup]
2024-09-03T13:06:57.533Z ^[[[35[jfob ]^[[0m [FATAL] [7cd33b0bf83d7d16] [bootstrap.go:104              ] [main                ] - Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /usr/local/jfrog/var/etc/security/join.key [startup]
~                                                                                                                               

master.key报错完,又报join.key

87c26c05611cc9ccba503b69a3c54862fccf1634deecaff8e3262cbe89b2e47b
直接复制了一个

artifactory-ha cannot find join key during migration from 6.x to 7.x · Issue #865 · jfrog/charts (github.com)

启动又报

line 65: found character that cannot start any token
不能用tab,要用空格。

重启后,浏览器还是连不上,看有一个报错

[FATAL] Failed bootstrapping application: context deadline exceeded. last error: Get "http://localhost:8046/router/api/v1/system/health": dial tcp [::1]:8046: connect: connection refused

把防火墙关了试试

还是不行,没搞定

发现一个master.key和join.key失败的原因,以后验证一下

注意:数据库一定要用干净的新建的数据库,否则启动服务会报错!会报missing master  key,因为不会生成master key  和 join key!


http://www.kler.cn/news/290505.html

相关文章:

  • 如何通过本地服务器来测试环信的回调功能
  • powershell自动提交git脚本
  • Android 13 aosp 恢复出厂设置流程
  • 快消品渠道开发方案,让你拥有源源不断的批发客户!
  • 2.门锁_STM32_舵机设备实现
  • oracle 定时任务dbms_job 增删改查
  • slice
  • 一篇文章深入了解Oracle常用命令
  • xxe漏洞
  • 小型集群分析
  • 【IPV6从入门到起飞】3-域名解析动态IPV6(阿里云)
  • 学习大数据DAY49 考后练习题
  • python学习8:dict字典的定义,操作和方法,跟json有什么区别?
  • 通过查找真实IP bypass WAF
  • 容器化你的应用:使用 Docker 入门指南
  • window 10使用wsl装docker踩坑
  • CCNA课笔记
  • 【NO.17】LeetCode经典150题-13. 罗马数字转整数
  • 装机必看!内存条应该怎么插?各种内存条插法详解
  • Seataf分布式事务的使用
  • 坐牢第三十四天(c++)
  • WordPress自适应美图网站整站打包源码
  • Docker镜像中的源替换为国内源
  • C/C++:函数指针
  • SpringBoot3集成Spring Authorization Server实现SSO单点登录
  • uniapp小程序实现横屏手写签名
  • 宠物智能家居监测器的融合
  • LeetCode 606.根据二叉树创建字符串
  • 开源vscode AI插件
  • 什么是基于云的 SIEM