MinIO分布式文件系统介绍

2024-04-26 22:12

本文主要是介绍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 的使用更加方便和高效。

这篇关于MinIO分布式文件系统介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938789

相关文章

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP