官方解释:MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。
MinIO 是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
MinIO 作为一款基于 Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。。
官网文档地址:英文官网 中文官网
MinIO 号称是目前速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以高达 183 GB/s 和 171 GB/s。对象存储可以作为主存储层,用来处理 Spark、Presto、TensorFlow、H2O.ai 等各种复杂工作负载以及成为 Hadoop HDFS 的替代品。
MinIO 用作云原生应用程序的主要存储,和传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。而这些都是 MinIO 能够达成的性能指标。
目前 MinIO 支持市面主流的开发语言并且可以通过 SDK 快速集成快速集成使用。
亚马逊云的 S3 API(接口协议)是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准。MinIO 在很早的时候就采用了 S3 兼容协议,并且 MinIO 是第一个支持 S3 Select 的产品. MinIO 对其兼容性的全面性感到自豪, 并且得到了 750 多个组织的认同, 包括 Microsoft Azure 使用 MinIO 的 S3 网关 - 这一指标超过其他同类产品的总和。
MinIO 安装部署非常简单。MinIO 简单特性减少了出错的机会,节约了安装部署的时间,提供了可靠性,同时简单性又是性能的基础。Linux 环境下只需下载一个二进制文件然后执行,即可在几分钟内完成安装和配置 MinIO。配置选项和变体的数量保持在最低限度,这样让失败的配置概率降低到几乎接近于 0 的水平。MinIO 升级是通过一个简单命令完成的,这个命令可以无中断的完成 MinIO 的升级工作,并且不需要停机即可完成升级操作,大大降低总使用和运维成本。
MinIO 基于 Apache V2 license 100% 开放源代码 。这就意味着 MinIO 的用户能够自动的、无限制、自由免费使用和集成 MinIO、自由的创新和创造、 自由的去修改、自由的再次发行新的版本和软件. 确实, MinIO 强有力的支持和驱动了很多世界 500 强的企业。此外,其部署的多样性和专业性提供了其他软件无法比拟的优势。
MinIO 提供了与 k8s、etcd、docker 等主流容器化技术深度集成方案。
MinIO 服务安装后,可以直接通过浏览器登录系统,完成文件夹、文件的管理。非常方便使用。
参考:http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide
# 下载安装包
wget https://dl.min.io/server/minio/release/linux-amd64/minio#
运行命令chmod +x minio
#启动 ./minio server /usr/software/minio/data
# 后台进程启动nohup ./minio server /usr/software/minio/data > /usr/software/minio/minio.log 2>&1 &
参考:http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide
1、直接安装启动
下载安装包
下载地址:https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
管理员身份启用 cmd 窗口,然后定位到 minio.exe 文件夹执行如下命令:
.\minio.exe server D:\file\minio ## D:\file\minio 为存储文件的目录
2、后台服务安装
然后配置 minio-server.xml 文件,内容如下:
<service>
<id>minio-server</id>
<name>minio-server</name>
<description>minio文件存储服务/description>
<!-- 可设置环境变量 -->
<env name="HOME" value="%BASE%"/>
<executable>%BASE%\minio.exe</executable>
<arguments>server "%BASE%\data"</arguments>
<!-- <logmode>rotate</logmode> -->
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMMdd</zipDateFormat>
</log>
</service>
使用 cmd 命令 minio-server.exe install 安装服务
安装完后,去服务中启动服务。启动成功就可以正常使用 minio 啦
可以使用 minio-server.exe uninstall 来卸载服务
安装成功后,浏览器登录访问http://127.0.0.1:9000
如果浏览器出现如下界面,表示安装成功。然后使用默认登录名和密码 均为 minioadmin。为了安全考虑后期可再去修改。
注意:默认情况下,MinIO 使用端口 9000 来侦听传入的连接。如果你的平台默认阻止了该端口,则需要启用对该端口的访问。
1、 先安装本地的 docker 环境
参考地址:https://www.docker.com/products/docker-desktop/ mac 有一个 docker 的管理页面
2、安装 MinIO
参考地址:https://blog.csdn.net/weixin_43888891/article/details/122021704
查询镜像
docker search minIO
下载镜像
docker pull minio/minio
启动服务
docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /ope/metersphere/data/minio:/data \
minio/minio server \
/data --console-address ":9090" -address ":9000"
:::success
这里的 \ 指的是命令还没有输入完,还需要继续输入命令,先不要执行的意思。
这里的 9090 端口指的是 minio 的客户端端口。虽然设置 9090,但是我们在访问 9000 的时候,他也会自动跳到 9090。
9000 端口是 minio 的服务端端口,我们程序在连接 minio 的时候,就是通过这个端口来连接的。
-v 就是 docker run 当中的挂载,这里的/mydata/minio/data:/data 意思就是将容器的/data 目录和宿主机的/mydata/minio/data 目录做映射,这样我们想要查看容器的文件的时候,就不需要看容器当中的文件了。
MINIO_ACCESS_KEY:账号 MINIO_SECRET_KEY:密码 (正常账号应该不低于 3 位,密码不低于 8 位,不然容器会启动不成功)
--console-address 指定客户端端口
-d --restart=always 代表重启 linux 的时候容器自动启动
--name minio 容器名称
:::
3、查看服务状态
docker ps
4、访问 http://localhost:9000 默认密码:minioadmin/minioadmin