对象存储服务MinIO的使用

前言

关于MinIO的介绍,可以参考官网的介绍,地址:官方文档传送门 这里直接介绍使用;MinIO在使用时提供了两种模式:

  • 直接用来做对象存储服务,可以替代阿里OSS,AWS的S3等云上对象存储服务;
  • 网关模式,构建其他云服务的MinIO网关,与其他云服务一起配合使用。

本文中MinIO的配置、使用均基于windows系统进行,至于在linux系统与windows系统上也都大同小异,根据官方文档进行即可

1、构建MinIO对象存储服务

首先需要下载MinIO的可执行文件,下载地址:Windows系统MinIO可执行文件 完成下载以后在下载的可执行文件所在的目录中执行如下命令:

minio.exe server <path 如:D:\MinIO>   # path中的路径代表文件存储的位置

执行结果如下:
在这里插入图片描述
然后打开浏览器,输入:http://127.0.0.1:9000 输入账号密码,即可登录MinIO服务,如下图:
在这里插入图片描述
简单MinIO存储服务的搭建到此就结束了,如果需要进行存储桶事件通知的配置,可以参考官方文档,有很详细的介绍。

mc常用命令:
mc alias set [ALIAS] [YOUR-S3-ENDPOINT] [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY] [--api API-SIGNATURE]  # 添加云服务,以后可以使用设置的别名进行云服务的操作
mc ls [ALIAS] #列出云服务中所有的bucket


mc admin config get [ALIAS] notify_webhook # 查看MinIO服务配置文件中关于notify_webhook 的配置
mc admin config set [ALIAS] notify_webhook:1 queue_limit="1000"  endpoint="http://xxxx" queue_dir="/tmp" # 设置MinIO服务配置文件中关于notify_webhook 的配置

2、搭建阿里云OSS的MinIO网关

在MinIO的官网上,并没有介绍使用MinIO来做阿里云OSS网关的相关文档;但是由于MinIO是完全兼容AWS的S3存储服务的API,可以用来做S3的网关;同时阿里云OSS也对AWS的S3存储服务的API兼容,因此可以参考S3网关的配置来搭建阿里云OSS的网关,具体的操作步骤如下:

  • 先下载MinIO 的可执行文件,如1中所示;
  • 然后进行环境变量的配置,如下:
D:\> set MINIO_ROOT_USER=xxxxxxx
D:\> set MINIO_ROOT_PASSWORD=xxxxxx
  • 搭建阿里云OSS 的MinIO网关,在minio.exe所在目录下使用如下命令:
minio gateway <commonds   s3> <endpoint>    
# <commonds> 可选参数如下:
COMMANDS:
 nas    Network-attached storage (NAS)
 azure  Microsoft Azure Blob Storage
 s3     Amazon Simple Storage Service (S3)
 hdfs   Hadoop Distributed File System (HDFS)
 gcs    Google Cloud Storage
#阿里云oss兼容AWS S3协议,这里选择s3,<endpoint>为阿里云oss的地址,如:https://oss-cn-shanghai.aliyuncs.com
  • 执行上述命令,然后打开浏览器,输入:http://127.0.0.1:9000 输入账号密码,即可登录MinIO服务。

注意:
MinIO虽然可以作为其他云服务的网关,但是MinIO在搭建适用于S3的网关时,Bucket 通知APIs 不支持使用,因此需要借助于适用MinIO做网关的云服务的bucket通知事件进行回调。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MinIO是一个开源的分布式对象存储服务,它可以在私有云环境中提供高性能和高可用性的存储解决方案。下面是关于MinIO的一些基本概念和使用方法: 1. 分布式存储:MinIO使用分布式架构,可以将数据存储在多个节点上,实现数据的冗余和高可用性。每个节点都可以独立地提供存储服务,并且可以通过添加更多的节点来扩展存储容量和吞吐量。 2. 对象存储MinIO以对象的形式存储数据,每个对象都有一个唯一的键(Key)和对应的值(Value)。对象可以是任意类型的文件,例如图片、视频、文档等。通过使用对象存储MinIO可以提供高效的数据访问和管理。 3. 数据分片:MinIO将每个对象分成多个数据片段(Data Shard),并将它们分布在不同的节点上。这种数据分片的方式可以提高数据的可靠性和可用性,同时也可以提高数据的读写性能。 4. 冗余备份:MinIO使用纠删码(Erasure Code)技术来实现数据的冗余备份。纠删码可以将数据分成多个片段,并将这些片段分布在不同的节点上。即使某个节点发生故障,系统仍然可以通过其他节点上的数据片段进行数据恢复。 5. 客户端接口:MinIO提供了丰富的客户端接口,可以方便地与MinIO进行交互。你可以使用MinIO的命令行工具、API接口或者各种编程语言的SDK来管理和操作MinIO存储。 下面是一个使用MinIO Python SDK上传文件的例子: ```python from minio import Minio # 创建MinIO客户端 client = Minio('play.min.io', access_key='YOUR_ACCESS_KEY', secret_key='YOUR_SECRET_KEY', secure=True) # 上传文件 client.fput_object('mybucket', 'myobject', 'path/to/local/file.jpg') # 关闭客户端连接 client.close() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值