精华内容
下载资源
问答
  • 01-minio介绍.mp4

    2021-05-05 23:22:45
    minio介绍视频1 下载,分成4集,共计2.5G,分布式对象存储
  • minio 介绍

    千次阅读 2017-06-22 20:11:00
    minio 兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。 Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作 ...
     

    minio 兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。

    Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作

    在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来

    展开全文
  • Minio介绍及使用

    千次阅读 2021-01-15 14:57:05
    这里介绍个人之前使用过的Minio,推荐直接官网学习,本文只做简单介绍与使用。 提示:以下是本篇文章正文内容,下面案例可供参考 一、Minio是什么? MinIO 是一个基于Apache License v2.0开源协议的

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    虽然现在我们可以直接使用类似OSS、COS等存储服务,但是当我们需要将服务进行本地化部署时,大多情况都需要本地自己搭建存储服务。这里介绍个人之前使用过的Minio,推荐直接官网学习,本文只做简单介绍与使用。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、Minio是什么?

    MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

    二、使用步骤

    1.安装

    1. 安装Minio
         	wget https://dl.minio.io/server/minio/release/linux-amd64/minio
      
    2. 如果未安装wget,或者遇到 -bash: wget: 未找到命令,请先安装wget:
         yum -y install wget
      
    3. 修改权限
      chmod 777 -R minio
      
    4. 启动服务
      ./minio server /home/file
      
    5. 访问服务
      默认用户名:minioadmin 密码:minioadmin在这里插入图片描述

    2.Java API使用

    1、创建工具类MinIoUtil :

    import io.minio.*;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    
    public class MinIoUtil {
    
        private static Logger logger = LoggerFactory.getLogger(MinIoUtil.class);
    
        private static volatile MinIoUtil instance;
    
        private static final Object lock = new Object();
        //http://172.17.90.17:9000
        private String endPoint;
        //minioadmin
        private String accessKey;
        //minioadmin
        private String secretKey;
        //biosan
        private String bucket;
    
        protected MinioClient client;
    
        public static MinIoUtil getInstance(){
            if(instance == null){
                synchronized (lock){
                    if(instance == null){
                        instance = new MinIoUtil();
                    }
                }
            }
            return instance;
        }
    
        private MinIoUtil(){
            BaseValueService service = BeanFactory.getBean("baseValueService", BaseValueService.class);
            this.endPoint = service.getValue("MinIo", "endPoint");
            this.accessKey = service.getValue("MinIo", "accessKey");
            this.secretKey = service.getValue("MinIo", "secretKey");
            this.bucket = service.getValue("MinIo", "bucket");
            this.client = new MinioClient(this.endPoint,accessKey,secretKey);
        }
    
        public void putFile(String path, String fileName, byte[] buffer){
            if (!path.endsWith("/"))
                path = path + "/";
    
            putFile(path + fileName, buffer);
        }
    
        public void putFile(String fileFullName, byte[] buffer) {
            fileFullName = fileFullName.replaceAll("\\\\", "/");
            ByteArrayInputStream in = new ByteArrayInputStream(buffer);
            try{
                boolean isExit = client.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());
                if(isExit){
                    logger.info("Bucket is exit");
                }else {
                    client.makeBucket(MakeBucketArgs.builder().bucket(bucket) .build());
                }
                client.putObject(PutObjectArgs.builder().bucket(bucket).object(fileFullName).stream(in,in.available(),-1).build());
            }catch (Exception e){
                logger.info("【file upload occur exception】 e = {}",e);
            }
        }
    
        public byte[] getFile(String path, String fileName) {
            if (!path.endsWith("/"))
                path = path + "/";
            return getFile(path + fileName);
        }
    
        public byte[] getFile(String fileFullName){
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            while (true) {
                byte[] buf = new byte[8192 * 10];
                try {
                    InputStream inputStream = client.getObject(GetObjectArgs.builder().bucket(bucket).object(fileFullName).build());
                    int read = inputStream.read(buf);
                    if (read < 0)
                        break;
    
                    out.write(buf, 0, read);
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                    BaseException.throwException("读取文件失败");
                    break;
                }
            }
            return out.toByteArray();
    
        }
    
    }
    
    

    2、文件上传

    	MinIoUtil.getInstance().putFile(path, file.getNewFileName(), file.getBuf());
    

    3、获取文件

    	File f = new File(fileName);
        byte[] image = MinIoUtil.getInstance().getFile(f.getParent(), f.getName()); 
    

    总结

    Minio的介绍就是上面这些内容,需要深入学习的可以直接到官网进行学习,链接文章开始已给出。很多情况下,我们可能不仅要搭建本地存储服务,而且还需要同步线上数据,这里提供大家一种方法rclone。当然rclone不止适用于Minio,方法适用于所有遵循S3协议的存储服务,我个人是将COS数据同步到本地Minio服务,链接:rclone同步S3存储服务间数据

    展开全文
  • 1、MinIO是什么?官方解释:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例...

    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及串口基础知识硬件:断路器、接触器、继电器基础知识

    展开全文
  • 第一章:minio介绍与安装

    千次阅读 2020-05-12 15:49:53
    找了很久,最后还是决定用minio来做。先说说其他的方案为什么不用。 nginx 我们一般都使用nginx来做web转发,负债均衡等工作。其他他也可以作为一个文件服务,只需要添加上传模块跟上传进度模块即可。但是使用他...

    章节快捷访问:

    第一章:minio介绍与安装

    https://blog.csdn.net/hzw2312/article/details/106077729

    第二章:minio单机版,使用客户端备份文件

    https://blog.csdn.net/hzw2312/article/details/106078150

    第三章:minio的javaAPI

    https://blog.csdn.net/hzw2312/article/details/106078390

    第四章:minio的presigned URLs上传文件

    https://blog.csdn.net/hzw2312/article/details/106078604

    --------------------------------------------------

     

    最近公司需要做一个文件服务器。找了很久,最后还是决定用minio来做。先说说其他的方案为什么不用。

    nginx

    我们一般都使用nginx来做web转发,负债均衡等工作。其他他也可以作为一个文件服务,只需要添加上传模块跟上传进度模块即可。但是使用他过后,后期的文件的备份需要在找别的工具来实现,他并不支持。

    MongoDB File Server

    MongoDB File Server 致力于小型文件的存储,比如博客中图片、普通文档等。由于MongoDB 支持多种数据格式的存储,对于二进制的存储自然也是不话下,所以可以很方便的用于存储文件。由于 MongoDB 的 BSON 文档对于数据量大小的限制(每个文档不超过16M),所以本文件服务器主要针对的是小型文件的存储。显然不符合大部分文件服务的要求,我们肯定有很多文档的大小是超过16M的。但是对于大型文件的存储(比如超过16M),MongoDB 官方已经提供了成熟的产品 GridFS。GridFS这个东西是按照块来存储的,默认是大小为255 kB,什么意思呢。就是他会把你的源文件分成无数个文件块来存储,在你访问的时候在组装起来返回给你。他不支持更新文档的修改,需要删除了在上传。在官网的文档中明确说了:如果您需要自动更新整个文件的内容,请不要使用GridFS(Do not use GridFS if you need to update the content of the entire file atomically)。看到这里估计就有一大票人放弃了。

    ceph、fastFDS、vsftpd等一大票Linux的文件服务我们用不了,因为要支持widnows部署。我们不可能在windows上搞一个docker来跑吧!最后,我们选择了minio。

    minio

    MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

    部署模式

    minio支持单机部署、多租户部署、分布式部署。支持原始文件存储已经纠删码模式存储。在进行单机部署的时候,还可以使用minio的客户端工具进行备份。接下来我们详细说明他的单机部署+客户端备份。

    SDK(API)

    minio提供了很多语言的SDK跟API支持:javascript,Java,python,Golan,.Net。能够方便程序员们快速的跟应用程序进行接入。详情参见官网文档https://docs.minio.io/

    安装

    说了一堆,我们开始安装吧。我们在linux上进行安装。

    创建目录:sudo mkdir minio

    下载安装包:sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio

    如果你在使用命令下载的时候,下载不下来。可以多试几次,或者直接用别的机器访问上面的url直接进行下载。然后上传到服务器上去。

    赋予执行权限:chmod +x minio

    启动minio:./minio server --config-dir /etc/minio /data/minioData

    执行启动后打印

    ktwlrj@ktwlrj80:/usr/local/minio$ sudo ./minio server --config-dir /etc/minio /data/minioData
    Endpoint:  http://192.168.51.80:9000  http://127.0.0.1:9000    
    AccessKey: minioadmin 
    SecretKey: minioadmin 
    
    Browser Access:
       http://192.168.51.80:9000  http://127.0.0.1:9000    
    
    Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
       $ mc config host add myminio http://192.168.51.80:9000 minioadmin minioadmin
    
    Object API (Amazon S3 compatible):
       Go:         https://docs.min.io/docs/golang-client-quickstart-guide
       Java:       https://docs.min.io/docs/java-client-quickstart-guide
       Python:     https://docs.min.io/docs/python-client-quickstart-guide
       JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
       .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
    Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

    这样我们的minio服务端就启动成功了,最后一行提示我们要尽快修改minio的密码。我们先不管,先试试能不能访问

    测试

    在浏览器输入:http://192.168.51.80:9000

    在输入控制打印的默认的AccessKey和SecretKey:

    AccessKey: minioadmin

    SecretKey: minioadmin

    点击登录

    进入系统后,我们先要点击右下角的“+”按钮,创建一个文件桶(输入名称后,回车即可),在上传文件到这个文件桶中。Create bucket(创建文件桶)、Upload file(上传文件)。

     

    上传成功

    现在我们去服务器,我们启动时指定的目录去看看,文件桶相当于文件目录,这里没有使用纠删码的模式,所以直接就是源文件了。当我们线上运行的项目已经有源文件了,在使用minio的时候,可以直接指定该目录为minio的文件目录就行了。

    由于我们重新制定了证书目录(/etc/minio),现在我们去看看证书目录有啥

    里面是啥也没有,如果我们需要https,证书就需要放在这里面。默认的证书目录是${HOME}/.minio/certs。

    分享链接

    现在已经可以正常的上传文件了,在文件列表界面有一个分享按钮,我们可以点击分享,将生成文件的访问地址。

    这里可以指定链接的有效时间,最多7天,最小的单位是分钟。在有效时间过期后在访问图片时,会提示失效。

    设置启动脚本

    我们的minio之前是通过命令行直接启动的,并没有指定后台运行,而且端口跟AccessKey和SecretKey都还是使用默认的,这里需要在启动的时候指定一下。

    export MINIO_ACCESS_KEY=username
    export MINIO_SECRET_KEY=password
    nohup sudo /usr/local/minio/minio server --address=0.0.0.0:9000 --config-dir /etc/minio /data/minioData > /usr/local/minio/minio.log 2>&1&

    可以将上面的命令放在一个自己新建的.sh可执行文件中,记得给当前用户加上执行权限

    chmod u+x *.sh

    这样我们的minio服务端基本的配置算是ok了。

     

     

     

     

     

     

    展开全文
  • minio介绍及docker部署

    2021-09-16 15:13:23
    1、minio简介 MinIO是一个基于Apache License v2.0开源协议的对象存储服务,它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个...
  • 这里不对minio做过多介绍,具体资料自行查找。 1、官网地址https://min.io/ 2、github地址https://github.com/minio/minio 3、windows 服务端下载地址 ...
  • minio对象存储服务

    2020-04-21 10:54:54
    介绍minio 兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。 Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端...
  • minio简介

    千次阅读 2020-07-16 10:56:59
    1.1 Minio 简介 1、MinIO 是在 Apache License v2.0 下发布的对象存储服务器。 它与 Amazon S3 云存储服务兼容。 它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM 映像。 对象的大小可以从几 KB ...
  • MINIO简介 Minio是Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份...
  • 分布式存储系统Minio简介

    千次阅读 2020-04-12 22:43:57
    Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个...
  • MinIO的技术白皮书,较为全面的介绍minio的相关特点 MinIO作为近期比较火爆的分布式存储软件
  • MinIO是一个开源的基于Apache License 2.0的高性能的对象存储工具。一个非常重要的特性是MinIO兼容Amazon S3的云存储服务接口,对于在Amazon上使用S3存储服务的用户来说非常方便,对于非结构化的数据,包括图片、...
  • 主要介绍了基于Java写minio客户端实现上传下载文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了SpringBoot2 整合MinIO中间件,实现文件便捷管理,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • MinIO的客户端MinIO Client提供了命令行的方式操作MinIO功能,它同时还支持Amazon S3的云存储服务。这篇文章继续通过示例来介绍一下其使用方式。
  • 案,而本章讲述的MinIO,一定是你看了就绝壁拍手称赞的! 1、分布式文件系统应用场景 互联网下海量的非结构化存储的需求背景下,比如: 电商网站,存储海量的商品图片 视频网站,海量的视频文件 网盘,海量的...
  • 1.1 Minio介绍 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非 常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而 ...
  • 一.minio安装与使用

    千次阅读 2021-08-03 10:26:38
    目录 1.minio介绍 2.minio安装 2.1.下载 2.2.安装 2.3.警告解决 2.3.1临时设置端口 2.3.2永久环境变量设置用户密码(不推荐) 2.4.启动成功 3.客户端mc 3.1下载 3.2运行 3.3客户端常用命令 1.添加一个云存储服务 2....
  • 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门...minio一开始就是针对性能要求更高的私有云标准进行软件架构设计的,所以它采用了更易用的方式进
  • 通过浏览器将文件上传到Minio服务器。 该应用程序详细介绍了如何使用预签名URL从浏览器上传到Minio服务器。
  • 前言 最近接了一个项目,甲方不愿意买服务器,但是呢,项目又必须要用文件功能。所以很巧,最近又刚好看到了Minio这个牛逼的工具。...1、Minio介绍 如果你听过这个,那么你直接跳到第二小节看使用说明。如果你
  • MinIO 介绍 Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能。 官网地址:MinIO | High Performance, Kubernetes Native Object Storage 何为对象存储? 对象存储服务(Object ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 972
精华内容 388
关键字:

minio介绍