MinioClient+Minio部署及使用手册(集群)

MinioClient+Minio部署及使用手册(集群)

1.介绍
1.1MinioClient
MinIO 客户端 mc 命令行工具提供了一种现代的替代 UNIX 命令, 如 ls、cat、cp、mirror 和 diff 支持文件系统和兼容 Amazon S3 的云存储服务(AWS Signature v2 和 v4)。

mc 具有以下语法:

mc [FLAGS] COMMAND [ARGUMENTS...] [COMMAND FLAGS | -h]

请参考官网详细介绍:

http://docs.minio.org.cn/minio/baremetal/reference/minio-cli/minio-mc.html

1.2Minio
Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。

Minio 是一个非常轻量的服务,可以很简单的和其他应用的结合使用,类似 NodeJS, Redis 或者 MySQL。Minio 不仅提供了服务器、Web 访问、客户端,还提供了 Docker 安装,各种语言的 SDK、实例、实战秘籍等等,支持分布式部署。

2.配置步骤
2.1配置环境

192.168.20.149

192.168.20.150

3.安装
3.1安装minio和启动
安装位置,home/minio

mkdir -p /home/minio
cd /home/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir -p /data/minio

#指定端口启动

#浏览器访问端口--console-address :9001

nohup ./minio server --address :9000 --console-address :9001 /data/minio/ >/home/minio/minio.log 2>&1 &

3.2配置用户名密码

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=sw12345-

3.3访问方式
启动完成之后,可以通过如下地址进行浏览器访问:

192.168.20.149/150:9001

登录用户名密码:admin/sw12345-

3.4安装MinioClient
在192.168.20.149/150两台机器同时安装,脚本如下:

wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
 
chmod +x /usr/local/bin/mc

4.使用
4.1配置开机自启动服务
4.1.1配置minio开机自启动服务

创建/root/miniostart.sh启动脚本

#!/bin/bash

export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=sw12345-
/home/minio/minio server --address :9000 --console-address :9001 /data/minio/ >/home/minio/minio.log 2>&1

在/usr/lib/systemd/system路径下新建服务minio.service,脚本如下:

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
 
[Service]
WorkingDirectory=/root/
ExecStart=/root/miniostart.sh
Restart=on-failure
RestartSec=5
 
[Install]
WantedBy=multi-user.target

配置minio开机自启动

systemctl enable minio.service

4.1.2配置minioclient开机自动同步服务

在slave服务器上配置minio_slave和minio_master,用于添加对master上minio的访问权限。

mc config host add minio_slave http://192.168.20.149:9000 admin sw12345-
mc config host add minio_master http://192.168.20.150:9000 admin sw12345-

使用mc命令查看主机配置情况

mc config host ls

在/usr/lib/systemd/system路径下新建minioc.service,该服务可以在服务器故障重启后,保证该服务器minio库的数据与同步服务器保持一致。

[Unit]
Description=startup minioc mirror slave to master
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite minio_slave/line1 minio_master/line1
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

配置minioc开机自启动

systemctl enable minioc.service

4.1.3配置minioclient监视自动同步服务

在/usr/lib/systemd/system路径下新建minioc_line1.service,该服务用于监视并同步line1(如:1号线为line1)的数据桶,与开机完全同步的区别是多了--watch。

[Unit]
Description=startup minioc mirror slave to master
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch minio_slave/line1 minio_master/line1
Restart=on-failure
 
[Install]
WantedBy=multi-user.target
配置minioc_line1开机自启动

systemctl enable minioc_line1.service
4.1.4配置minioclient监视双向自动同步服务

如果需要双向同步,则新增一个服务,将脚本语句中的minio_slave/line1 和minio_master/line1互换即可,脚本如下:

[Unit]
Description=startup minioc mirror slave to master
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch minio_master/line1 minio_slave/line1
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot集成Minio工具类的步骤如下: 1. 添加Minio依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>RELEASE.2021-06-17T22-59-28Z</version> </dependency> ``` 2. 配置Minio连接信息 在application.properties文件中添加以下配置: ``` minio.endpoint=http://localhost:900 minio.accessKey=minioadmin minio.secretKey=minioadmin minio.bucketName=test ``` 3. 创建Minio工具类 创建一个MinioUtil类,用于封装Minio的操作方法,例如上传文件、删除文件等。 ``` @Component public class MinioUtil { @Value("${minio.endpoint}") private String endpoint; @Value("${minio.accessKey}") private String accessKey; @Value("${minio.secretKey}") private String secretKey; @Value("${minio.bucketName}") private String bucketName; private MinioClient minioClient; @PostConstruct public void init() throws Exception { minioClient = new MinioClient(endpoint, accessKey, secretKey); if (!minioClient.bucketExists(bucketName)) { minioClient.makeBucket(bucketName); } } public void uploadFile(String objectName, String filePath) throws Exception { minioClient.putObject(bucketName, objectName, filePath, null); } public void deleteFile(String objectName) throws Exception { minioClient.removeObject(bucketName, objectName); } public String getFileUrl(String objectName) throws Exception { return minioClient.presignedGetObject(bucketName, objectName); } } ``` 4. 使用Minio工具类 在需要使用Minio的地方,注入MinioUtil类,调用其方法即可。 ``` @Autowired private MinioUtil minioUtil; public void uploadFile() throws Exception { minioUtil.uploadFile("test.jpg", "/path/to/test.jpg"); } public void deleteFile() throws Exception { minioUtil.deleteFile("test.jpg"); } public String getFileUrl() throws Exception { return minioUtil.getFileUrl("test.jpg"); } ``` 以上就是Spring Boot集成Minio工具类的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值