MinIO分布式文件系统介绍

1、不同存储方式的对比:

2、 分布式文件系统对比

 

3、MinIO的特点

MinIO特点

  • 数据保护:Minio使用Minio Erasure Code(纠删码)来防止硬件故障。即便损坏一半以上的driver,但是仍然可以从中恢复。

  • 高性能:作为高性能对象存储,在标准硬件条件下它能达到55GB/s的读、35GB/s的写速率

  • 可扩容:不同MinIO集群可以组成联邦,并形成一个全局的命名空间,并跨越多个数据中心

  • SDK支持:基于Minio轻量的特点,它得到类似Java、Python或Go等语言的sdk支持

  • 有操作页面:面向用户友好的简单操作界面,非常方便的管理Bucket及里面的文件资源

  • 功能简单:这一设计原则让MinIO不容易出错、更快启动

  • 丰富的API:支持文件资源的分享连接及分享链接的过期策略、存储桶操作、文件列表访问及文件上传下载的基本功能等。

  • 文件变化主动通知:存储桶(Bucket)如果发生改变,比如上传对象和删除对象,可以使用存储桶事件通知机制进行监控,并通过以下方式发布出去:AMQP、MQTT、Elasticsearch、Redis、NATS、MySQL、Kafka、Webhooks等。

4、基本概念

bucket——类比于文件系统的目录

Object——类比文件系统的文件

Keys——类比文件名

5、创建MinIO代码如下

docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio minio/minio server /data

虚拟机终端效果如图:

其中命令:

docker load -i minio.tar

作用为加载上传上去的minio.tar文件

6、验证是否已经创建好MinIO分布式文件系统

在浏览器中访问http://192.168.76.132:9000/其中服务器地址192.168.76.132,minio端口号9000;

能够打开以上minio登入界面,即说明成功。

7、在idea中上传主机中已有的list.html文件到MinIO代码如下

public class MinIOTest {


    /**
     * 把list.html文件上传到minio中,并且可以在浏览器中访问。
     * @param args
     */
    public static void main(String[] args) {

        FileInputStream fileInputStream = null;
        try {

            fileInputStream =  new FileInputStream("D:\\develop\\list.html");;

            //1.创建minio链接客户端
            MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.76.132:9000").build();
            //2.上传
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .object("list.html")//文件名
                    .contentType("text/html")//文件类型
                    .bucket("leadnews")//桶名词  与minio创建的名词一致
                    .stream(fileInputStream, fileInputStream.available(), -1) //文件流
                    .build();
            minioClient.putObject(putObjectArgs);

            System.out.println("http://192.168.76.132:9000/leadnews/list.html");

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

运行结束之后即可在minio客户端看到上传上去的文件:

 

8、将封装minio为start:Day2-20-MinIO-封装为starter使用_哔哩哔哩_bilibili

封装 MinIO 为一个启动脚本(例如命名为start)的主要目的是简化 MinIO 的启动过程,并提供一个统一的入口点来管理 MinIO 服务。这样做的好处包括:

  1. 简化启动过程:通过封装为脚本,用户可以使用一个简单的命令来启动 MinIO,而无需记住复杂的启动命令和参数。

  2. 统一管理:将 MinIO 启动封装为一个脚本,可以更方便地进行统一管理和维护。用户可以通过相同的方式启动、停止和重启 MinIO 服务,使管理更加简洁高效。

  3. 参数化配置:启动脚本可以允许用户通过参数来配置 MinIO 启动时的参数,例如端口号、存储路径、访问密钥等,使用户能够根据需求进行灵活配置。

  4. 易于部署和分享:封装为启动脚本后,可以轻松地将 MinIO 部署到其他环境中,而不必担心复杂的配置和依赖。同时,也方便与他人分享和交流,使得部署和使用更加便捷。

总之,将 MinIO 封装为一个启动脚本能够提高用户的使用体验,简化管理和部署过程,使得 MinIO 的使用更加方便和高效。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值