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

MinIO配置与使用

在数字化时代,数据存储与管理变得尤为重要,尤其是对于非结构化数据如日志文件的处理。MinIO,作为一个高性能、可扩展的分布式对象存储系统,以其对Amazon S3的全面兼容性和轻量级设计,成为了众多企业和开发者存储大量数据的首选。本文将带你深入了解MinIO的配置方法

部署MinIO

集群节点规划

节点信息服务数据盘
192.168.1.10minio server/data/minio_data/{data1,data2}
192.168.1.11minio server/data/minio_data/{data1,data2}
192.168.1.12minio server/data/minio_data/{data1,data2}
192.168.1.13minio server/data/minio_data/{data1,data2}
192.168.1.14nginx 

依赖:Ansible,docker,nginx,具体参考资料在文末

集群基础环境准备

创建minio节点 配置文件minio.hosts

[minio]
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13

初始化环境

关闭防火墙

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

修改系统最大文件数

ulimit -n #查看最大连接数
ulimit -a
echo "*   soft    nofile  65535" >> /etc/security/limits.conf
echo "*   hard    nofile  65535" >> /etc/security/limits.conf
sysctl -p
reboot

创建启动脚本/配置文件/数据目录

# 创建启动脚本目录
ansible -i minio.hosts minio -m file -a 'path=/usr/local/app/minio/bin state=directory mode=0755'
# 创建配置文件目录
ansible -i minio.hosts minio -m file -a 'path=/etc/minio state=directory mode=0755'# 创建数据目录
ansible -i minio.hosts minio -m file -a 'path=/data/minio_data/data1 state=directory mode=0755'
ansible -i minio.hosts minio -m file -a 'path=/data/minio_data/data2 state=directory mode=0755'

安装包准备

下载minio

# 下载minio
cd /data/minio/bin && wget https://dl.min.io/server/minio/release/linux-amd64/minio

推送安装包

# 推送minio到所有节点
ansible -i minio.hosts minio -m copy -a 'src=/usr/local/app/minio/bin/minio dest=/usr/local/app/minio/bin/minio mode=0755'

启动脚本准备

脚本名称:run.sh

#!/bin/bash
export MINIO_ROOT_USER=minio #访问密钥,用于身份验证。根据自身情况进行修改
export MINIO_ROOT_PASSWORD=123456 # 秘密密钥,用于身份验证,根据自身情况进行修改。/usr/local/app/minio/bin/minio server  --config-dir /etc/minio --address ":9000" --console-address ":9001" \
http://192.168.1.36/data/minio_data/data1 http://192.168.1.36/data/minio_data/data2 \
http://192.168.1.91/data/minio_data/data1 http://192.168.1.91/data/minio_data/data2 \
http://192.168.1.92/data/minio_data/data1 http://192.168.1.92/data/minio_data/data2 \
http://192.168.1.110/data/minio_data/data1 http://192.168.1.110/data/minio_data/data2

部署

推送启动脚本到所有节点

ansible -i minio.hosts minio -m copy -a 'src=/usr/local/app/minio/bin/run.sh dest=/usr/local/app/minio/bin/run.sh mode=0755'

创建systemd配置文件minio.service

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

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/usr/local/app/minio/bin/
ExecStart=/usr/local/app/minio/bin/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target

推送启动minio.service到所有节点

ansible -i minio.hosts minio -m copy -a 'src=/usr/lib/systemd/system/minio.service dest=/usr/lib/systemd/system/minio.service mode=0755'

启动minio

# 启动minio
ansible -i minio.hosts minio -m shell -a 'systemctl daemon-reload'
ansible -i minio.hosts minio -m shell -a 'systemctl enable minio'
ansible -i minio.hosts minio -m shell -a 'systemctl start minio'
ansible -i minio.hosts minio -m shell -a 'systemctl status minio'

检查(查看到running)

systemctl status minio
● minio.service - Minio serviceLoaded: loaded (/usr/lib/systemd/system/minio.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2024-04-03 16:45:15 CST; 1 months 2 days agoDocs: https://docs.minio.io/Main PID: 38640 (run.sh)Tasks: 30Memory: 1.7GCGroup: /system.slice/minio.service

访问

浏览器输入集群任意节点地址+9000端口,即可访问minio,可创建“bucket”并上传文件测试

http://192.168.1.10:9000

http://192.168.1.11:9000

http://192.168.1.12:9000

http://192.168.1.13:9000

输入账户minio密码123456即可访问

Nginx代理

# 搭建nginx 参考https://zhuanlan.zhihu.com/p/639039219
# 由于测试主机80端口被占,nginx这里使用8080端口
docker run -p 8080:80 -p 8081:81 --name nginx-prod --restart=always -v /opt/docker/nginx/conf:/etc/nginx -v /opt/docker/nginx/html:/usr/share/nginx/html  -v /var/log/nginx:/var/log/nginx -d  nginx:1.25.1#映射下面目录到宿主机
/opt/docker/nginx/conf # nginx 配置文件目录
/opt/docker/nginx/html # Nginx默认站点目录
/var/log/nginx #Nginx日志目录

nginx配置minio

打开 /opt/docker/nginx/conf/conf.d/minio.conf,编辑

推荐配置

( MinIO Server listening 和 MinIO Console listening分开)

upstream minio {least_conn;server 192.168.1.10:9000;server 192.168.1.11:9000;server 192.168.1.12:9000;server 192.168.1.13:9000;
}upstream minio_console {least_conn;server 192.168.1.10:9001;server 192.168.1.11:9001;server 192.168.1.12:9001;server 192.168.1.13:9001;
}
server {listen 80;server_name minio;location / {proxy_pass http://minio;proxy_set_header Host $http_host;#client_max_body_size 1000m;#添加了websocket支持,解决object browser loading 问题proxy_http_version      1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}location /minio/ui/ {rewrite ^/minio/ui/(.*) /$1 break;proxy_pass http://minio_console;proxy_set_header Host $http_host;#client_max_body_size 1000m;#添加了websocket支持,解决object browser loading 问题proxy_http_version      1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}

nginx 启停

# 查看配置文件是否正确
docker exec -i nginx-prod /sbin/nginx -t
# 重新加载配置
docker exec -i nginx-prod /sbin/nginx -c /etc/nginx/nginx.conf -s reload
# 重启nginx
docker exec -i nginx-prod /sbin/nginx -c /etc/nginx/nginx.conf -s reopen

访问

http://192.168.1.14:8081

输入账户minio密码123456即可访问

 

相关文章:

MinIO配置与使用

在数字化时代,数据存储与管理变得尤为重要,尤其是对于非结构化数据如日志文件的处理。MinIO,作为一个高性能、可扩展的分布式对象存储系统,以其对Amazon S3的全面兼容性和轻量级设计,成为了众多企业和开发者存储大量数…...

【漏洞复现】SpringBlade menu/list SQL注入漏洞

》》》产品描述《《《 致远互联智能协同是一个信息窗口与工作界面,进行所有信息的分类组合和聚合推送呈现。通过面向角色化、业务化、多终端的多维信息空间设计,为不同组织提供协同门户,打破组织内信息壁垒,构建统一协同沟通的平台。 》》》漏洞描述《《《 致远互联 FE协作办公…...

物联网智能项目(含案例说明)

物联网(Internet of Things,简称IoT)智能项目是指利用物联网技术将各种物理设备、传感器、软件、网络等连接起来,实现设备之间的互联互通,并通过数据采集、传输、处理和分析,实现智能化管理和控制的项目。以…...

【YOLOv8改进】 YOLOv8 更换骨干网络之GhostNetV3步骤详解

这里yolov8源码版本是 ultralytics-8.2.54 GhostNetV3 源码下载 https://codeload.github.com/huawei-noah/Efficient-AI-Backbones 将ghostnetv3.py文件复制一份到源码./ultralytics-8.2.54/ultralytics/nn/modules路径下 我根据mobilenetv4的教程,修改了ghostne…...

成绩查询小程序,家长查分超方便~

这都马上2025年了,我不相信还有老师不知道怎么发成绩,如果你不知道,那么这篇文章不要错过,推荐给大家我用了7年的发成绩工具 易查分,新版本更新之后,发成绩只需要一分钟的时间即可生成一个成绩查询系统。 …...

鸿蒙开发(NEXT/API 12)【上传下载文件】远场通信场景

场景介绍 本协议栈框架支持将文件上传到服务器或者从服务器下载文件。 开发步骤 导包。 import { rcp } from kit.RemoteCommunicationKit; import {fileIo} from kit.CoreFileKit;下载文件。 let SESSION_CONFIG: rcp.SessionConfiguration {// 此处请根据业务设置合适的…...

快速理解AUTOSAR CP的软件架构层次以及各层的作用

在 AUTOSAR CP 的架构中,软件分为 应用层 (App)、运行时环境 (RTE) 和 基础软件层 (BSW) 三个主要层级。下面是每一层的主要功能与简单的代码示例来展示它们之间的关系。 1. 概述 应用层 (App):包含应用程序代码,主要实现业务逻辑。应用层通…...

【Unity】Unity中接入Admob聚合广告平台,可通过中介接入 AppLovin,Unity Ads,Meta等渠道的广告

一、下载Google Admob的SDK插件 到Google Admob官网中,切换到Unity平台 进来之后是这样,注意后面有Unity标识,然后点击下载,跳转到github中,下载最新的Admob插件sdk,导入到Unity中 二、阅读官方文档&…...

PythonExcel批量pingIP地址

问题: 作为一个电气工程师(PLC),当设备掉线的时候,需要用ping工具来检查网线物理层是否可靠连接,当项目体量过大时,就不能一个手动输入命令了。 解决方案一: 使用CMD命令 for /L %…...

软媒市场新蓝海:软文媒体自助发布与自助发稿的崛起

在信息时代的浪潮中,软媒市场以其独特的魅力和无限的潜力,成为了企业营销的新宠。随着互联网的飞速发展,软文媒体自助发布平台应运而生,为企业提供了更加高效、便捷的营销方式。而自助发稿功能的加入,更是让软媒市场的蓝海变得更加广阔。 软媒市场的独特价值 软媒市场之所以能…...

【笔记】Day2.5.1查询运费模板列表(未完

(一)代码编写 1.阅读需求,确保理解其中的每一个要素: 获取全部运费模板:这意味着我需要从数据库中查询所有运费模板数据。按创建时间倒序排序:这意味着查询结果需要根据模板的创建时间进行排序&#xff0…...

阿基米德螺旋线等距取点

曲线公式 极坐标形式: 笛卡尔坐标形式: 弧长公式 对极坐标形式积分可得弧长为: 将上式转换为一元二次方程: 解此一元二次方程可得: 等距取点 弧长L等距递增,代入公式,再利用笛卡尔坐标公式即…...

2024年全球增强现实(AR)市场分析报告

一、增强现实统计数据(2024) 市场价值:2024年,全球AR市场价值超过320亿美元,并预计到2027年将突破500亿美元。用户基础:目前约有14亿活跃的AR用户设备,这一数字预计将在2024年增长至17.3亿。消费者认知:大约四分之三的44岁以下成年人对AR有所了解。购物体验:基于AR的购物…...

探索 NetworkX:Python中的网络分析利器

文章目录 **探索 NetworkX:Python中的网络分析利器**一、背景介绍二、NetworkX是什么?三、如何安装NetworkX?四、NetworkX的五个简单函数五、NetworkX的三个应用场景六、常见问题及解决方案七、总结 探索 NetworkX:Python中的网络…...

Python知识点:基于Python技术,如何使用AirSim进行无人机模拟

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Python和AirSim进行无人机模拟 无人机技术的发展为许多行业带来了革命性…...

《中国林业产业》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《中国林业产业》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《中国林业产业》级别? 答:国家级。主管单位:国家林业和草原局 …...

私域流量下的白酒新传奇:半年破五千万的营销策略揭秘

在当今的数字化浪潮中,某白酒品牌独树一帜,摒弃了实体店和传统电商的常规路径,仅凭其精心构建的私域流量生态,在短短六个月内创造了超过五千万元的销售额奇迹。这一非凡成就背后,蕴含着一套独特的营销策略。 重塑营销&…...

Tomcat 配置:方便运行 Java Web 项目

目录 一、作用 二、安装 三、配置环境 四、启动 五、访问 一、作用 是一个轻量级的web服务器,可使用Tomcat运行Java Web项目。 二、安装 1. 基于JDK(安装Tomcat之前,先安装JDK,并配置环境变量JAVA_HOME) 2. apache-tom…...

Spring Boot知识管理:机器学习与AI集成

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户管理 知识管理系统的管理员可以对用户新增,修改,删除,查询操作。具体界面的展示如图5.1所示。 图5.1 用户管理管理界面 5.1.2 文章分类 管理员登录可以在文章分类新增,修改&#…...

Superset SQL模板使用

使用背景 有时想让表的时间索引生效,而不是在最外层配置报表时,再套多一层时间范围。这时可以使用SQL模板 参考官方文档 https://superset.apache.org/docs/configuration/sql-templating/#:~:textSQL%20Lab%20and%20Explore%20supports%20Jinja 我…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...