MeterSphere Mac 通过 docker 安装 MinIO

灬囖 · 2022年11月18日 · 2862 次阅读

前言

  • 最近 MeterSphere 出了新版本,新版本架构是这样的(如下图)。采用了 SpringCloud+SpringBoot 微服务的架构的。跟以往相比,多了一个新的组件,MinIO。也就是分布式存储。

关于 MinIO

1、MinIO 是什么?

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

2、MinIO 有哪些优势?

2.1 开发文档全面

MinIO 作为一款基于 Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。。
官网文档地址:英文官网 中文官网

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 服务安装后,可以直接通过浏览器登录系统,完成文件夹、文件的管理。非常方便使用。

MinIO 安装

3.1 Linux 下安装 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 &

3.2 Widows 下安装 MinIO

参考: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、后台服务安装

  • 下载地址: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 来侦听传入的连接。如果你的平台默认阻止了该端口,则需要启用对该端口的访问。

3.3 Mac 下 Docker 安装

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 所上传的文件默认都是存储在容器的 data 目录下的!
    • 假如删除容器了宿主机当中挂载的目录是不会删除的。假如没有使用-v 挂载目录,那他在宿主机的存储位置的文件会直接删除的。
    • 宿主机的挂载目录一定是根目录,如果是相对路径会有问题。还有容器当中的目录也是必须是绝对路径(根路径就是带/的)。
    • 所谓的挂载其实就是将容器目录和宿主机目录进行绑定了,操作宿主机目录,容器目录也会变化,操作容器目录,宿主机目录也会变化。这样做的目的 可以间接理解为就是数据持久化,防止容器误删,导致数据丢失的情况。
  • 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

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册