文章目录

    • 介绍
    • 软件特点
    • 下载
    • 多机分布式集群部署
      • 1.前提准备
      • 2. 新建minio工作目录
      • 3. 编写运行命令
      • 4. 启动、测试
      • 5. nginx配置

介绍

MinIO 是一款高性能、开源、云原生的分布式对象存储系统,专为私有云、公有云和边缘计算场景设计,完全兼容 Amazon S3 API,可无缝替代 AWS S3,适用于 AI/ML、大数据、备份归档等海量非结构化数据存储场景。

软件特点

  • 高性能:基于 Golang 编写,单机可达数十 GB/s 吞吐,分布式线性扩展;采用纠删码(Reed-Solomon)与HighwayHash 位腐烂保护,兼顾速度与数据完整性。
  • 云原生:40 MB 单二进制文件,可容器化部署,提供官方 Helm Chart,与Kubernetes、Prometheus、Grafana 生态深度集成,支持 PV/PVC 持久卷。
  • S3 完全兼容:支持全部核心 S3 API(含 SSE-S3/SSE-C/KMS 加密、版本控制、生命周期、WORM 锁等),现有 S3 SDK、工具(如 Velero、Restic、Spark、Presto)无需修改即可使用。
  • 多云/多站点:支持“连续复制”与“全局联邦”,可跨地域、跨云厂商构建统一命名空间,实现灾备与就近访问。
  • 安全合规:内置 TLS、细粒度 IAM、OpenID/LDAP 集成、WORM 防篡改、审计日志,满足金融、医疗等合规要求。
  • 轻量易运维:单进程、无中心元数据库,磁盘 JBOD 直挂即可;控制台提供 UI 与 mc 命令行,一键扩缩容、监控告警。

下载

官网下载页面:https://www.min.io/download?platform=windows
点击下载社区版的
在这里插入图片描述
社区版直达下载地址:https://www.min.io/open-source/download?platform=windows
在这里插入图片描述
注意:最新版的 MinIO 社区版中缺少用户设置,这是因为 MinIO 近期对其社区版的用户界面 (UI) 功能进行了重大调整。过去,MinIO 的 Web 控制台提供了账户和策略管理、配置设置等功能。然而,在最新的社区版中,这些功能已被移除。
如果下载历史版本的可访问:
https://dl.minio.org.cn/server/minio/release/windows-amd64/archive/
在这里插入图片描述
找到对应的版本进行下载即可

多机分布式集群部署

提前找好3台或多台机器,推荐最少4台,由于我们目前场景只有3台机器,就做3台的部署演示,多台可自行扩展即可。这些机器需要在同一个局域网内,可相互ping通。
MinIO 采用纠删码(Erasure Code) 技术来实现数据冗余和恢复,分布式 Minio 里所有的节点需要有同样的 access 秘钥和 secret 秘钥,这样这些节点才能建立联接。

1.前提准备

网络互通:所有服务器节点必须在同一网络并能通过 IP 相互解析和访问。
时间同步:所有节点的主机时间差不能超过 3 秒。
相同的凭据:在所有节点上设置完全相同的 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 环境变量。
干净的磁盘:确保每个节点上用于 MinIO 的磁盘目录是干净的(没有数据)。

2. 新建minio工作目录

分别在3台机器上在D盘新建minio工作目录,将下载好的minio,拷贝进去
在这里插入图片描述
然后在minio文件夹中新建 minio-data 文件夹,做为minio存储数据文件夹。

3. 编写运行命令

在minio文件夹下新建 start.bat,将以下命令粘贴进去进行保存。

set MINIO_ROOT_USER=minioadmin
set MINIO_ROOT_PASSWORD=minioadmin
minio.exe server --address ":9000" --console-address ":9001" ^
http://192.168.1.116/D:/minio/minio-data ^
http://192.168.1.112/D:/minio/minio-data ^
http://192.168.1.108/D:/minio/minio-data

在启动命令中,将IP替换为你自己的各节点的真实局域网 IP 地址。

4. 启动、测试

分别在3台机器上启动start.bat 正常启动成功后,即可访问minio的控制台(任意一台机器即可):http://192.168.1.116:9001
使用设置的用户名和密码登录:minioadmin/minioadmin
在这里插入图片描述
新建buckets 然后上传文件
在这里插入图片描述
分别查看各个机器上minio/minio-data文件夹下3台机器均存有数据。

5. nginx配置

使用 Nginx 配置负载均衡提供统一的访问入口并实现高可用。
下载nginx,然后修改nginx.conf配置文件

upstream minio_cluster {server 192.168.1.116:9000;server 192.168.1.112:9000;server 192.168.1.108:9000;# ... 添加所有节点的IP和端口
}server {listen       9000;server_name  localhost;location / {proxy_pass http://minio_cluster;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;client_max_body_size 0;chunked_transfer_encoding on;}
}

启动 Nginx(nginx.exe),之后应用程序只需访问 Nginx 的地址(如 http://<nginx_server_ip>:9000)即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98188.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98188.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/98188.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙libxm2交叉编译

一开始先使用了lycium,但是没有编译通过 改为使用源码自带的配置文件编译 我使用的源码是libxml2-2.9.10.tar.gz 解压后进行下面的配置: root@ubuntu:/home/lw/libxml2-2.9.10# export OHOS_SDK=/home/lw/ohos-sdk/linuxroot@ubuntu:/home/lw/libxml2-2.9.10# export AS=…

MCAP :机器人数据容器的全面实践指南

Outline: MCAP 已形成完整工具链生态&#xff1a; Foxglove Studio&#xff1a;可视化分析工具mcap-cli&#xff1a;跨平台命令行工具AWS RoboMaker&#xff1a;原生云存储支持 随着 IEEE 正在制定的 P3196 机器人数据标准&#xff0c;MCAP 正在演进为行业基础架构的重要组成…

【Bluedroid】A2dp Source播放流程源码分析(7):蓝牙音频流启动流程深度解析(btif_av_stream_start)

本文深入分析Android Bluetooth协议栈中A2DP音频流启动的完整流程,从应用层调用btif_av_stream_start()开始,穿越BTIF、BTA、AVDTP多层架构,最终通过L2CAP发送AVDTP启动命令。揭示状态机驱动、异步消息传递、流控制等核心机制。并通过代码与日志结合的方式,揭示蓝牙音频流从…

Miniconda安装与VSCode搭建远程Python、Jupyter开发环境

前言 数据科学和机器学习工作流程中&#xff0c;当本地计算机无法满足计算任务的需求时&#xff0c;往往需要一个更强大计算能力的远程环境。另一方面&#xff0c;VSCode由于其轻便和易用性&#xff0c;以及丰富的插件生态系统&#xff0c;一直是远程开发的首选编辑器。本文介绍…

vue3前端开发的基础教程——快速上手

【前言】这里使用的技术栈&#xff1a;fastapivue3pycharm一、创建vue3项目在项目的文件夹使用下面命令创建vue3前端框架代码npm create vitelatest frontend选择框中选择&#xff1a; Framework: VueVariant: JavaScript 或 TypeScript cd frontend npm install启动本地开发np…

51单片机2(按键,外部中断,定时器中断,PWM与蜂鸣器)

1.按键模块以按键k1为例&#xff1a;两个引脚被接到GND和P1_4引脚&#xff0c;当K1按键被按下时&#xff0c;P1_4引脚会和GND短路到一起&#xff0c;P1_4引脚会呈现低电平。按键初始化&#xff1a;//按键初始化 void Key_Init(void) {P1 | (0x0f << 4);P3 | (1 << …

【面试向】人工智能机器学习介绍

一、介绍 人工智能&#xff08;AI&#xff09;是通过模拟、延伸和扩展人类智能的技术&#xff0c;使机器能够感知、理解、决策和行动。核心目标是实现“智能自动化”&#xff0c;即让机器在复杂、动态的环境中自主完成任务&#xff0c;甚至超越人类在特定领域的能力。 机器学…

Python趣味入门:打印与计算初体验

1. 尝试使用 print() 打印各种内容print() 是我们在Python中最先接触也是最常用的函数之一。它的核心功能是将内容输出到控制台。让我们用它来玩点花样&#xff1a;在您的IDE中创建一个新的Python文件&#xff08;例如 play_with_print.py&#xff09;&#xff0c;然后尝试以下…

swagger接口文档规范化(苍穹外卖)

swagger接口文档规范化 &#xff08;1&#xff09;说明&#xff1a; 将接口文档分为管理端和用户端 &#xff08;2&#xff09;WebMvcConfiguration修改 位置&#xff1a;sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java 文件完整代码&#xff1a; pa…

Transformer 架构的演进与未来方向(RNN → Self-Attention → Mamba)——李宏毅大模型2025第四讲笔记

一句话总结——“所有架构都为了解决上一代模型的致命缺陷而生&#xff1a;CNN 解决参数爆炸&#xff0c;ResNet 解决梯度消失&#xff0c;Transformer 解决 RNN 无法并行&#xff0c;而 Mamba 则试图一次解决 Transformer 的 O(N) 与 RNN 的记忆瓶颈。”1 每种架构的存在理由•…

Vllm-0.10.1:通过vllm bench serve测试TTFT、TPOT、ITL、E2EL四个指标

一、KVM 虚拟机环境GPU:4张英伟达A6000(48G)内存&#xff1a;128G海光Cpu:128核大模型&#xff1a;DeepSeek-R1-Distill-Qwen-32B推理框架Vllm:0.10.1二、四个性能指标介绍2.1、TTFT:Time to First token首次生成token时间&#xff08;ms&#xff09;,TTFT 越短&#xff0c;用户…

逻辑回归基础

昨天一直在复盘梯度下降&#xff0c;都没咋预习逻辑回归&#xff0c;好在不是很难&#xff0c;来捋捋逻辑回归简介逻辑回归是解决分类问题数学基础-sigmoid函数还要回顾一下概率论极大似然估计再来看一下对数逻辑回归原理逻辑回归的损失函数例子&#xff1a;分类问题评估混淆矩…

STM32----W25QXX

W25QXX款图W25QXX存储解读块--->扇-->页块分成128块一块64kb一块分成16扇一扇4kb一个扇区分成16页&#xff0c;页的大小是256个字节 当数据传入W25QXX最小的擦除单元是扇区当已经输入了一页的数据&#xff0c;这时RAM的数据会转存进FLASH&#xff0c;这时会置一个标志位&…

【Kafka】Kafka使用场景用例Kafka用例图

【Kafka】Kafka使用场景用例&Kafka用例图一、Kafka用例总图二、Kafka用例图示三、Kafka场景案例图一、Kafka用例总图 二、Kafka用例图示 三、Kafka场景案例图 注&#xff1a;以上图片来源于网络&#xff0c;如有不妥请私信删除&#xff01;

Altium Designer(AD24)集成开发环境简介

🏡《专栏目录》 目录 1,概述 2,界面介绍 2,搜索功能简介 1,概述 Altium Designer 24的原理图,PCB等设计工作都是在集成开发环境中进行的,本文简单介绍集成开发环境界面。 2,界面介绍 如下图所示,Altium Designer 24的集成开发环境,包括: 标题栏:目前设计中文件的…

[论文阅读] 软件工程 | 告别“线程安全玄学”:基于JMM的Java类静态分析,CodeQL3分钟扫遍GitHub千仓错误

告别“线程安全玄学”&#xff1a;基于JMM的Java类静态分析&#xff0c;CodeQL3分钟扫遍GitHub千仓错误 论文信息类别详情论文原标题Scalable Thread-Safety Analysis of Java Classes with CodeQL主要作者及机构1. Bjrnar Haugstad Jatten&#xff08;哥本哈根IT大学&#xff…

jQuery.ajax() 方法核心参数详解

大家好&#xff0c;欢迎来到程序视点&#xff01;我是你们的老朋友.小二&#xff01;jQuery.ajax() 方法核心参数详解基础参数url类型&#xff1a;String功能&#xff1a;请求地址&#xff0c;默认当前页地址。type类型&#xff1a;String&#xff08;get/post为主&#xff0c;…

LCR 175. 计算二叉树的深度【简单】

LCR 175. 计算二叉树的深度【简单】 题目描述 某公司架构以二叉树形式记录&#xff0c;请返回该公司的层级数。 示例 1&#xff1a;输入&#xff1a;root [1, 2, 2, 3, null, null, 5, 4, null, null, 4] 输出: 4 解释: 上面示例中的二叉树的最大深度是 4&#xff0c;沿着路…

AI驱动健康升级:新零售企业从“卖产品”到“卖健康”的转型路径

随着健康意识的不断提升&#xff0c;健康管理增值服务正逐渐成为零售企业的核心竞争力。消费者对“产品服务”的需求激增&#xff0c;企业亟需构建覆盖健康评估、干预到跟踪的营养健康管理体系&#xff0c;通过数据化手段提升用户粘性。在此背景下&#xff0c;AI技术正推动健康…

2025年最新三维WebGIS开发学习路线图深度解析

地信小白为何学习webgis&#xff1f;我们在后台经常收到同学们关于地信测绘等专业的吐槽&#xff0c;总结后主要分为以下几类&#xff1a;第一种吐槽学校理论与实践脱节的&#xff0c;学校课程偏重理论&#xff0c;缺乏企业级真实项目经验&#xff0c;导致同学们简历空洞、单一…