您好,欢迎来到独旅网。
搜索
您的当前位置:首页搭建Minio分布式服务

搭建Minio分布式服务

来源:独旅网
搭建Minio分布式服务

本⽂主要介绍Minio的分布式环境搭建,安装⽐较简单,因博主只有⼀台window,所以使⽤VM虚拟机搭建的。

搭建前可以先了解下minio:环境准备:

1、安装两台centos虚拟机,这⾥我命名虚拟机为centos-minio1和centos-minio2(这⾥我使⽤的centos8.2,博主喜欢啥都⽤最新的,哈哈)

开始搭建:

1、将minio⽂件放到centos-minio1的⽬录/usr/local/bin中

2、进⼊/etc/default/minio⽬录,新建⽂件minio(192.168.79.129和192.168.79.130是两台虚拟机的ip,/data/minio1和/data/minio2分别是两台虚拟机的两个挂载磁盘)# Remote volumes to be used for MinIO server.

MINIO_VOLUMES=\"http://192.168.79.129:9000/data/minio1/ http://192.168.79.129:9000/data/minio2 http://192.168.79.130:9000/data/minio1 http://192.168.79.130:9000/data/minio2\"# Use if you want to run MinIO on a custom port.#MINIO_OPTS=\"--address: 9199\"# Access Key of the server.MINIO_ACCESS_KEY=yhc# Secret key of the server.

MINIO_SECRET_KEY=12345678

3、进⼊/etc/systemd/system/⽬录,复制minio.service⽂件到此⽂件夹,并编辑⽂件

找到User和Group配置项,都修改为root(因为我⽤的root⽤户运⾏minio,所以此处需要root⽤户),然后注释掉Restart=always(不然启动报错会⼀直⾃动重启,第⼆次重启会报错,⼤意是两次启动间隔时间过快)

4、关闭centos-minio1和centos-minnio2的防⽕墙,不然会报错,⼤意是⼀直等待另外两块硬盘加载5、执⾏命令 systemctl enable minio.service,允许minio启动6、启动minio,执⾏命令systemctl restart minio.service

7、查看minio运⾏状态和⽇志,执⾏命令systemctl status minio.service,如下则代表启动成功8、nginx配置

10、验证服务,引⼊依赖,编写测试类(测试类注释部分为minio3.x版本的代码,后升级为7.1.4,所以注释了)

io.minio minio 7.1.4

package com.yhc.minio;

import io.minio.BucketExistsArgs;import io.minio.MakeBucketArgs;import io.minio.MinioClient;import io.minio.PutObjectArgs;

import io.minio.errors.MinioException;import java.io.FileInputStream;public class Test {

public final static String buckey_name = \"yhc\";

public final static String file_name = \"japidocs-demo-20200909.1138.jar\";

public final static String file_path = \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\\"+file_name;

public static void main(String[] args) {

try(FileInputStream fis = new FileInputStream(file_path);) {

// 使⽤MinIO服务的URL,端⼝,Access key和Secret key创建⼀个MinioClient对象

// MinioClient minioClient = new MinioClient(\"http://192.168.79.129:9000\ MinioClient minioClient = MinioClient.builder().endpoint(\"http://localhost:8088/\").credentials(\"yhc\ // 检查存储桶是否已经存在

// boolean isExist = minioClient.bucketExists(buckey_name);

boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(buckey_name).build()); if (isExist) {

System.out.println(\"Bucket already exists.\"); } else {

// 创建⼀个名为asiatrip的存储桶,⽤于存储照⽚的zip⽂件。// minioClient.makeBucket(buckey_name);

minioClient.makeBucket(MakeBucketArgs.builder().bucket(buckey_name).build()); }

// 使⽤putObject上传⼀个⽂件到存储桶中。

// minioClient.putObject(buckey_name, \"data.xls\

minioClient.putObject(PutObjectArgs.builder().object(file_name).bucket(buckey_name).stream(fis,fis.available(),5*1024*1024).build()); System.out.println(\"sucess\"); } catch (MinioException me) { me.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }}

View Code

11、执⾏测试类,检查minio⽂件存储,发现每个硬盘下都有对应⽂件的⽂件夹,并按纠删码规则存储

⾄此,minio服务搭建完毕,因博主是在搭建完成后写的此⽂章,所以有些遗漏如⼤家发现,还请联系本⼈,谢谢。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务