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

Nexus File类型Blob Stores迁移至Minio操作指南(上)

#作者:闫乾苓

文章目录

  • 目的
  • 前期准备
  • 查看file类型Blob Stores数据目录位置
  • aws cli客户端连接工具
  • OrientDB cli客户端连接工具
  • 在minio中新建 bucket

目的

增强nexus构件数据的高可用性和扩展性

前期准备

查看并记录需要迁移的Blob Store及repository
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看file类型Blob Stores数据目录位置

本例nexus使用k8s容器化部署,其数据存储在nfs storageClass 动态绑定的pv中。
下面是如何查看其存储目录位置的步骤。如果nexus容器化部署使用hostpath作为数据持久化存储,或者nexus使用裸金属部署,请自行查看其数据存储目录路径。

首先查看nexus服务所在namespace(本例为:nexus-2)中pv的名称,

# kubectl get pv |grep nexus-2

在这里插入图片描述
再通过pv的名字查看其详细信息中nfs server目录路径:

# kubectl describe pv pvc-8583da75-34f3-4710-be9c-c3532a3c9764 -n nexus-2

在这里插入图片描述
/home/nfsdata/nexus-2-nexus-pvc-pvc-8583da75-34f3-4710-be9c-c3532a3c9764 目录即为nexus的数据目录

在这里插入图片描述
file类型的blob store目录中的数据
在这里插入图片描述

aws cli客户端连接工具

用于在linux命令行中,将file类型Blob Stores的中已有的二进制构件数据复制到s3(minio) 中指定的bucket中

# pip3 install awscli

在这里插入图片描述
验证是否安装成功

# aws --version

在这里插入图片描述

OrientDB cli客户端连接工具

OrientDB是nexus内部使用的数据库,用于保存nexus服务器的配置信息。
我们需要使用OrientDB cli连接到OrientDB server端进行数据库内相关数据的修改操作。

在nexus3 web管理页面查看OrientDB的客户端版本,下载的cli客户端连接工具须与其保持一致
在这里插入图片描述
下载地址:
https://repo1.maven.org/maven2/com/orientechnologies/orientdb-community/2.2.37/orientdb-community-2.2.37.tar.gz
下载完成并上传到存储nexus持续化数据所在的服务器,比如本例的nexus服务使用nfs pvc绑定pv作为持久化存储,就需要把刚下载的orientdb安装包上传到nfs server服务器,以便用此工具进行连接到存储在nfs server中nexus orientdb的数据库进行相关的操作。

解压上传到服务器上的orientdb软件包:

# tar xf orientdb-community-2.2.37.tar.gz

解压完成后自动生成orientdb-community-2.2.37目录
我们后续会使用orientdb-community-2.2.37/bin 下的console.sh连接nexus 的OrientDB数据库进行相关修改数据操作。
在这里插入图片描述

在minio中新建 bucket

新创建的bucket用于存储从file类型的Blob Store中迁移过来的二进制构件文件,及迁移完成后,存储后续新增的二进制构件文件。

比如本例新创建的bucket名为:nexus-default
在这里插入图片描述
在这里插入图片描述
另外在minio中需要准备好对此bucket有读写权限的minio账号的accessKeyId、secretAccessKey
在这里插入图片描述
最后还需要准备好minio的API的URL。(在修改OrientDB中Blob store的属性时需要用到,API URL对应endpoint)。
本例minio服务使用k8s deployment部署,其svc使用NodePort对外映射开放API服务端口29000:44127, web服务端口29001:58213。
所以minio的API的URL,在k8s集群内部使用:http:// 169.169.174.183: 29000
在这里插入图片描述

相关文章:

  • 深入理解静态与动态代理设计模式:从理论到实践
  • 泛目录程序:无需数据库的高效站群解决方案
  • 【STM32】从新建一个工程开始:STM32 新建工程的详细步骤
  • 解决 Redis 后台持久化失败的问题:内存不足导致 fork 失败
  • stm32 L432KC(mbed)入门第一课
  • 使用Arduino、ESP8266和GPS在Google地图上追踪车辆
  • 户外光伏气象站:精准监测气象数据,助力光伏电站高效运行
  • std::invoke详解
  • C语言中的流程控制语句
  • PN结和三极管
  • 基于 RWA 模型与 AI - Agent 协同的企业级 aPAAS 架构设计
  • 编译原理:语法分析程序【附源码和超详细注释】
  • 【Unity网络同步框架 - Nakama研究(三)】
  • PostgreSQL 和 MySQL 区别
  • C#中多态性核心讲解
  • S7-1200 G2移植旧版本S7-1200程序的具体方法示例
  • 16003. orin camera 相机驱动源码 imx477分析记录
  • 直方图(信息学奥赛一本通-1115)
  • 几款可用于绘制工艺原理图的开源框架
  • flutter 专题 八十八 Flutter原生混合开发
  • 外交部:巴基斯坦副总理兼外长达尔5月19日至21日访华
  • 上海发文加强直播经济技能人才培养:三年新培养持证直播技能人才5万名
  • 内蒙古赤峰市城建集团董事长孙广通拟任旗县区党委书记
  • 乌称苏梅州一公共汽车遭俄军袭击,致9死4伤
  • 广西壮族自治区政府主席蓝天立任上被查
  • 商务部:今年前3月自贸试验区进出口总额达2万亿元