大型分布式存储方案MinIO介绍,看完你就懂了!
1、MinIO是什么?
官方解释:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
2、MinIO有哪些优势?
2.1 开发文档全面
MinIO作为一款基于Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。。
官网文档地址:https://docs.min.io/cn/
2.2 高性能
MinIO号称是目前速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以高达183 GB/s和171 GB/s。对象存储可以作为主存储层,用来处理Spark、Presto、TensorFlow、H2O.ai等各种复杂工作负载以及成为Hadoop HDFS的替代品。
MinIO用作云原生应用程序的主要存储,和传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。而这些都是MinIO能够达成的性能指标。
2.3 支持全面
目前MinIO支持市面主流的开发语言并且可以通过SDK快速集成快速集成使用。
2.4 AWS S3标准兼容
亚马逊云的 S3 API(接口协议) 是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准。MinIO 在很早的时候就采用了 S3 兼容协议,并且MinIO 是第一个支持 S3 Select 的产品. MinIO对其兼容性的全面性感到自豪, 并且得到了 750多个组织的认同, 包括Microsoft Azure使用MinIO的S3网关 - 这一指标超过其他同类产品的总和。
2.5 安装部署非常简单
MinIO安装部署非常简单。MinIO简单特性减少了出错的机会,节约了安装部署的时间,提供了可靠性,同时简单性又是性能的基础。Linux环境下只需下载一个二进制文件然后执行,即可在几分钟内完成安装和配置MinIO。配置选项和变体的数量保持在最低限度,这样让失败的配置概率降低到几乎接近于0的水平。MinIO升级是通过一个简单命令完成的,这个命令可以无中断的完成MinIO的升级工作,并且不需要停机即可完成升级操作,大大降低总使用和运维成本。
2.6 开放全部源代码 + 企业级支持
MinIO 基于Apache V2 license 100% 开放源代码 。这就意味着 MinIO的用户能够自动的、无限制、自由免费使用和集成MinIO、自由的创新和创造、 自由的去修改、自由的再次发行新的版本和软件. 确实, MinIO 强有力的支持和驱动了很多世界500强的企业。此外,其部署的多样性和专业性提供了其他软件无法比拟的优势。
2.7 容器化集成方便
MinIO提供了与k8s、etcd、docker等主流容器化技术深度集成方案。
2.8 管理界面的支持
MinIO服务安装后,可以直接通过浏览器登录系统,完成文件夹、文件的管理。非常方便使用。
3、MinIO安装
3.1 Linux下安装MinIO
# 下载安装包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 &
3.2 Widows下安装MinIO
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、后台服务安装
下载地址:https://github.com/winsw/winsw/releases
将WinSW.exe复制到自己指定的目录,重命名为minio-server.exe
同目录下创建minio-server.xml。特别注意,xml和exe必须同名
然后配置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来侦听传入的连接。如果你的平台默认阻止了该端口,则需要启用对该端口的访问。
以上是分享内容,感谢阅读,欢迎收藏、点赞、转发。您的支持是我最大的创作动力,有问题可以留言大家共同进步,后续为写一下如何集成到Java、C#项目中去!
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识