当前位置: 首页 > news >正文

Minio 分布式集群安装配置

目录创建

mkdir -p /opt/minio/run && mkdir -p /etc/minio && mkdir -p /indata/disk_0/minio/data
  • run:启动脚本及二进制文件目录
  • /etc/minio:配置文件目录
  • data:数据存储目录

下载 minio

wget https://dl.min.io/server/minio/release/linux-amd64/minio -P /opt/minio/run/

配置启动文件

vi /opt/minio/run/run.sh
#!/bin/bash
export MINIO_ROOT_USER=Minio
export MINIO_ROOT_PASSWORD=Test1234!
/opt/minio/run/minio server --config-dir /etc/minio --address ":9000" --console-address ":9001" \
http://192.168.1.1/indata/disk_0/minio/data \
http://192.168.1.2/indata/disk_0/minio/data \
http://192.168.1.3/indata/disk_0/minio/data
  • MINIO_ROOT_USER : 用户名,长度最小是5个字符 (对应弃用配置: MINIO_ACCESS_KEY)
  • MINIO_ROOT_PASSWORD : 密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符 (对应弃用配置: MINIO_SECRET_KEY)
  • –config-dir :指定集群配置文件目录
  • 这里的用户名和密码既可以作为页面的登录用户密码,也可以作为连接 s3a 文件的密钥
  • –address “:9000” : 后端 API 服务监听的网络地址,: 表示监听所有可用的网络接口(即服务器上的所有 IP 地址);9000 是默认的 API 端口号
  • –console-address “:9001” : 该参数指定 MinIO 内置管理控制台(Web UI)监听的网络地址;同样使用 : 表示监听所有网络接口;9001 是默认的控制台端口号

如果使用弃用的 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY 则会有告警:

INFO: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated. Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORD

如果服务器配置了代理(如 clash代理),则可能会导致启动失败,需要在 run.sh 中添加(启动命令前):

unset http_proxy
unset https_proxy

这样就可以在启动 minio 时不走代理地址了~

配置为系统服务

vi /usr/lib/systemd/system/minio.service

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/indata/disk_0/minio/data
ExecStart=/opt/minio/run/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target

注意:这里的路径要和前面的配置一致

启动集群

systemctl daemon-reload
systemctl enable minio && systemctl restart minio
systemctl status minio

每个节点均返回如下结果则代表成功

可以通过查看端口进程进一步确认

这种方式返回的启动日志可能不是很全,可以直接运行脚本查看更完整的日志

可以看到第一个启动的节点会一直等待其他节点连接成功。

Web UI

浏览器输入集群任意节点地址+9001 (输入9000会自动跳转到9001)端口,即可访问minio:
http://192.168.1.1:9001/
http://192.168.1.2:9001/
http://192.168.1.3:9001/

登录

创建Bucket

上传文件


创建密钥


保存密钥

"accessKey":"uBoubbhrhXhfw8iQhfMc"
"secretKey":"S6N7xkZme3wGHgd3Y6kKSpqKnYAQRkPfyPWR7Lo7"

Nginx 代理

  • 负载均衡:将客户端请求平均分配到各个 MinIO 节点
  • 统一入口:客户端只需知道 Nginx 服务器地址,无需关心后端具体节点

安装 Nginx 并启动

yum install -y nginx
systemctl enable nginx && systemctl restart nginx && systemctl status nginx

配置代理

vi /etc/nginx/conf.d/minio.conf
upstream minio_web{server 192.168.1.1:9001;server 192.168.1.2:9001;server 192.168.1.3:9001;
} server {listen       80;listen       [::]:80;server_name  _;location / {proxy_pass http://minio_web;proxy_set_header Host $http_host;client_max_body_size 1000m;}
}
  • 仅需代理 Web UI 端口即可
  • 简化访问:使用 80 端口(默认 HTTP 端口)访问 API 服务,无需指定端口
  • 也可以根据实际情况代理为其他端口

重启 Nginx

systemctl restart nginx        

测试代理访问地址

http://www.dtcms.com/a/319944.html

相关文章:

  • 28 HTB Forest 机器 - 容易 (1)
  • (附源码)基于Web的物流信息管理系统
  • 解锁webpack核心技能(二):配置文件和devtool配置指南
  • 机器学习在量化中的应用:如何从逻辑回归到XGBoost实现高效预测?
  • 将Excel数据导入SQL Server数据库,并更新源表数据
  • 河南萌新联赛2025第(四)场:河南大学(补题)
  • 北京JAVA基础面试30天打卡04
  • 一文入门 matplotlib:从基础图表到数据可视化初体验
  • git branch -a无法查看最新的分支
  • CNB私有化部署Dify(零成本)教程
  • 操作系统1.4:操作系统的体系结构
  • ollama 运行gpt-oss 系列教程
  • Numpy科学计算与数据分析:Numpy数组创建与应用入门
  • DevOps简单教程应用
  • ⭐CVPR2025 RoboBrain:机器人操作的统一大脑模型[特殊字符]
  • Redis(八):Redis高并发高可用(哨兵Sentinel)
  • 上海一家机器人IPO核心零部件依赖外购, 募投计划频繁修改引疑
  • QDataStream入门
  • Redis实战(8) -- 分布式锁Redission底层机制
  • 如何解决用阿里云效流水线持续集成部署Nuxt静态应用时流程卡住,进行不下去的问题
  • 基于 MATLAB 的 QPSK 调制、解调、通过高斯信道的误码率计算,并绘制误码率图和眼图、星座图
  • 火山引擎接入豆包AI(纯前端调用api的方式)
  • Java 大视界 -- Java 大数据在智能教育在线课程互动优化与学习体验提升中的应用(386)
  • E频段芯片解决方案
  • npm 与 npx 区别详解。以及mcp中npx加载原理。
  • 2025年生成式大模型部署与推理优化全景解析
  • 14天搞定Excel公式:告别加班,效率翻倍!
  • 【YOLOv8改进 - 上采样】EUCB:(Efficient Up-convolution Block,高效上卷积块)实现特征图尺度匹配和高效上采样
  • 网络编程基石:域名系统与默认端口号详解
  • 文章采集发布Destoon网站技巧