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

运用MinIO技术服务器实现文件上传——在Linux系统上安装和启动(一)

# MinIO 单机版环境搭建详解

## 1. 简介

随着大数据时代的到来,数据存储的需求日益增大,如何有效地存储和管理大规模的非结构化数据成为许多企业和开发者面临的挑战。MinIO 作为一个高性能、分布式对象存储系统,致力于为用户提供简单、快速、可扩展的存储解决方案。它的设计与 Amazon S3 兼容,用户可以无缝切换到 AWS 生态系统,并充分利用 S3 提供的丰富功能。

MinIO 是基于 Go 语言开发的,因而其执行效率极高,并且可以灵活地支持各种非结构化数据的存储,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。相比传统的文件系统存储,MinIO 更适合处理海量数据,并且能够在云原生和分布式环境中良好运行。

### 1.1 MinIO 的优势

- **高性能**:MinIO 通过完全基于硬件的加速处理方式,保证了存储系统的高吞吐量与低延迟表现,适合对性能有较高要求的应用场景。
- **分布式架构**:MinIO 能够水平扩展,支持多节点的分布式部署,以实现更高的可用性和容错能力。
- **与 AWS S3 兼容**:MinIO 完全兼容 Amazon S3 API,这使得企业可以轻松将其迁移到 AWS 或在本地环境中构建兼容 S3 的存储系统。
- **跨平台支持**:MinIO 可以在主流操作系统上运行,如 Linux、Windows、MacOS,同时支持 Docker 部署,也可以直接在 Kubernetes 集群中运行。

### 1.2 适用场景

MinIO 的核心应用场景包括但不限于以下几个方面:
- **大规模数据存储**:适合需要存储 PB 级别非结构化数据的企业和应用,特别是多媒体文件、备份和日志数据。
- **云原生应用**:MinIO 非常适合与 Kubernetes 结合使用,特别是在需要弹性扩展存储的容器化应用中。
- **数据分析与机器学习**:在大数据分析与机器学习工作流中,MinIO 可以为存储大量的训练数据、模型文件提供支持。

总之,无论是企业应用还是个人开发者,MinIO 都是一个功能强大且易于使用的对象存储系统。

---

## 2. 环境搭建(单机版)

MinIO 的安装和配置非常简单,特别是在单机版部署场景下,只需要几个步骤就可以将其快速运行起来。以下是详细的环境搭建流程,适用于 CentOS 7 系统。

### 2.1 下载 MinIO 可执行文件

首先,通过 `wget` 命令从 MinIO 官方站点下载最新版的 MinIO 可执行文件。执行以下命令下载 MinIO:

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

下载完成后,将文件移动到适合的目录位置,例如 `/usr/local/soft/minio/`,并赋予文件可执行权限:

mkdir -p /usr/local/soft/minio/
mv minio /usr/local/soft/minio/
chmod +x /usr/local/soft/minio/minio

此时,MinIO 已经下载并准备就绪。

### 2.2 修改默认用户名和密码

MinIO 的默认用户名和密码为 `minioadmin`,为了安全起见,建议在启动前修改为更复杂的凭据。可以通过环境变量的方式来配置自定义的用户名和密码:

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678

上述命令将用户名设置为 `admin`,密码设置为 `12345678`,用户可以根据需要修改成自己喜欢的配置。

### 2.3 启动 MinIO

配置好 MinIO 之后,可以通过以下命令启动 MinIO:

./minio server /usr/local/soft/minio/data --console-address ":9001"

如果希望将 MinIO 后台运行,并将日志输出到文件中,可以使用 `nohup` 命令:

nohup ./minio server --console-address ":9001" /usr/local/soft/minio/data > /usr/local/soft/minio/minio.log 2>&1 &

这里需要注意以下几个重要参数:
- `--console-address`:指定 MinIO 管理控制台的监听地址和端口,默认端口为 `9001`。
- `--address`:指定 MinIO 服务的监听地址和端口,默认是 `9000`。
- `--data-dir`:指定数据存储的目录,这里我们将数据存储在 `/usr/local/soft/minio/data` 下。

#### 启动过程中常见问题:
如果遇到类似 `Permission denied` 的错误提示,很可能是目录权限不足,可以使用以下命令更改文件权限:

sudo chmod -R 777 /usr/local/soft/minio

注意:此处的 /usr/local/soft/minio  就是你的minio安装目录,自行修改

执行上述命令后,重新启动 MinIO。

### 2.4 访问 MinIO 管理控制台

MinIO 启动成功后,可以通过浏览器访问其管理控制台。控制台的默认端口是 `9001`,假设服务器 IP 地址为 `192.168.1.236`,可以通过如下地址访问:

http://192.168.1.236:9001

在登录界面输入之前配置的用户名和密码,即可进入 MinIO 的管理控制台。

如果在访问控制台时无法连接,请确保已正确配置防火墙,开放了 `9001` 端口。

---

## 3. 防火墙设置

在 CentOS 7 系统中,默认开启了防火墙。如果希望远程访问 MinIO 的控制台或存储服务,需要确保防火墙开放相应的端口(例如 `9000` 和 `9001`)。以下是与防火墙相关的一些常用操作。

### 3.1 防火墙的基本管理命令

通过以下命令可以启动、关闭防火墙,或检查防火墙状态:

# 启动防火墙
systemctl start firewalld# 关闭防火墙
systemctl stop firewalld# 设置开机启用防火墙
systemctl enable firewalld.service# 设置开机禁用防火墙
systemctl disable firewalld.service# 查看防火墙状态
systemctl status firewalld

### 3.2 开放端口

为了让 MinIO 的控制台和存储服务可以被外部访问,需要在防火墙中开放相应端口。假设我们需要开放 9000 和 9001 端口,执行以下命令:

# 开启端口 9000
firewall-cmd --zone=public --add-port=9000/tcp --permanent# 开启端口 9001
firewall-cmd --zone=public --add-port=9001/tcp --permanent# 重新加载防火墙配置
firewall-cmd --reload

添加完端口后,使用 `firewall-cmd --reload` 重新加载防火墙配置,确保修改生效。

此外,可以使用以下命令查看防火墙当前已开放的端口:

firewall-cmd --list-ports

确保 `9000` 和 `9001` 端口已经成功加入列表。

---

## 4. 总结

通过本文的详细介绍,相信大家对 MinIO 的单机版环境搭建有了更深入的了解。MinIO 的安装配置过程非常简单,但在实际使用中需要注意一些细节问题,例如启动参数的配置、权限的管理以及防火墙端口的开放。

MinIO 不仅支持单机模式,还可以通过水平扩展实现分布式部署,以满足更大规模的数据存储需求。无论是个人开发者还是企业级应用,MinIO 都是一个功能强大、易于使用的对象存储系统。未来,在云原生、容器化应用场景下,MinIO 也将扮演重要角色,帮助用户高效管理海量非结构化数据。

如果对性能、可扩展性有更高的要求,可以考虑 MinIO 的分布式模式,将存储节点分布到多个物理服务器上,进一步提升数据存储的可靠性与可用性。

相关文章:

运用MinIO技术服务器实现文件上传——在Linux系统上安装和启动(一)

# MinIO 单机版环境搭建详解 ## 1. 简介 随着大数据时代的到来,数据存储的需求日益增大,如何有效地存储和管理大规模的非结构化数据成为许多企业和开发者面临的挑战。MinIO 作为一个高性能、分布式对象存储系统,致力于为用户提供简单、快速…...

Python技术深度探索:从基础到进阶的实践之旅(第一篇)

Python技术深度探索:从基础到进阶的实践之旅(第一篇) 在编程的世界里,Python以其简洁的语法、强大的库支持和广泛的应用领域,成为了无数开发者心中的“瑞士军刀”。无论是数据分析、机器学习、Web开发,还是…...

利士策分享,旅游是否要舟车劳顿才能尽兴?

利士策分享,旅游是否要舟车劳顿才能尽兴? 国庆假期,当夜幕降临,城市灯火阑珊,一场关于美食与等待的较量悄然上演。 李女士在北京天坛公园附近餐厅的等位经历——前方1053桌的壮观景象,不仅让人咋舌&#xf…...

C++入门——类的默认成员函数(取地址运算符重载)

文章目录 一、const成员函数二、取地址运算符重载总结 一、const成员函数 1.将const修饰的成员函数称之为const成员函数,const修饰成员函数放到成员函数参数列表的后⾯。2.const实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进…...

学习记录:js算法(四十九):二叉树的层序遍历

文章目录 二叉树的层序遍历网上思路队列循环 总结 二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的层序遍历 。 (即逐层地,从左到右访问所有节点)。 图一: 示例 1:如图一 输入:roo…...

【PCB工艺】表面贴装技术中常见错误

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 1、什么是SMT和SMD2、表面贴装技术的优势是什么?3、通孔和表面贴装技术之间的区别是什么?4、焊…...

3.使用条件语句编写存储过程(3/10)

引言 在现代数据库管理系统中,存储过程扮演着至关重要的角色。它们是一组为了执行特定任务而编写的SQL语句,这些语句被保存在数据库中,可以被重复调用。存储过程不仅可以提高数据库操作的效率,还可以增强数据的安全性和一致性。此…...

Effective C++中文版学习记录(三)

Effective C中文版学习记录(三) 章节三:资源管理 进度:17/55 文章目录 Effective C中文版学习记录(三)条款13、以对象管理资源条款14、在资源管理类中小心copying行为条款15、在资源管理类中提供对原始资…...

VBA学习(76):文件合并神器/代码

1.定义变量 Dim savePath As String Dim SaveFile As String Dim dataFolder As String Dim FileSystem As Object Dim folder As Object Dim FileExtn As String Dim t As Integer Dim blnCkb As Boolean 2.自定保存文件名、选择待合并文件所在文件夹 Private Sub CkbName_…...

非农就业数据超预期,美联储降息步伐或放缓?

KlipC报道:当地时间10月4日,美国劳工部发布了最新的非农就业数据。数据显示,9月非农就业人数增加25.4万人,远超市场预期。失业率为4.1%,比上月略降0.1个百分点。平均时薪环比增长0.4%,亦高于市场预期。此外…...

每日OJ题_牛客_乒乓球筐_哈希_C++_Java

目录 牛客_乒乓球筐_哈希 题目解析 C代码 Java代码 牛客_乒乓球筐_哈希 乒乓球筐__牛客网 (nowcoder.com) 描述: nowcoder有两盒(A、B)乒乓球,有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类&#…...

基于SpringBoot+Vue的酒店客房管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

检索增强思考 RAT(RAG+COT):提升 AI 推理能力的强大组合

在人工智能领域,大型语言模型(LLMs)已经取得了显著的进展,能够生成类似人类的文本并回答各种问题。然而,它们在推理过程中仍面临一些挑战,例如缺乏对事实的准确把握以及难以处理复杂的多步骤问题。为了解决…...

python脚本实现Redis未授权访问漏洞利用

之前介绍过Redis未授权访问漏洞,本文使用python实现Redis未授权访问检测以及对应三种getshell。 1 测试环境准备 CentOS 7(192.168.198.66/24):安装 Redis 服务器并用 root 权限开启服务,关闭保护模式;安…...

简单线性回归分析-基于R语言

本题中&#xff0c;在不含截距的简单线性回归中&#xff0c;用零假设对统计量进行假设检验。首先&#xff0c;我们使用下面方法生成预测变量x和响应变量y。 set.seed(1) x <- rnorm(100) y <- 2*xrnorm(100) &#xff08;a&#xff09;不含截距的线性回归模型构建。 &…...

上海理工大学《2023年+2019年867自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《上海理工大学867自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2023年真题 2019年真题 Part1&#xff1a;2023年2019年完整版真题 2023年真题 2019年…...

计算机网络面试题——第三篇

1. TCP超时重传机制是为了解决什么问题 因为TCP是一种面向连接的协议&#xff0c;需要保证数据可靠传输。而在数据传输过程中&#xff0c;由于网络阻塞、链路错误等原因&#xff0c;数据包可能会丢失或者延迟到达目的地。因此&#xff0c;若未在指定时间内收到对方的确认应答&…...

Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持

作者&#xff1a;来自 Elastic Jeff Vestal 我们很高兴地宣布 Elasticsearch 的开放推理 API 支持 Gemini 开发者 API。使用 Google AI Studio 时&#xff0c;开发者现在可以与 Elasticsearch 索引中的数据进行聊天、运行实验并使用 Google Cloud 的模型&#xff08;例如 Gemin…...

react-问卷星项目(7)

实战 React表单组件 入门 重点在于change的时候改变state的值&#xff0c;类似vue的双向数据绑定v-model&#xff0c;即数据更新的时候页面同步更新&#xff0c;页面数据更新时数据源也能获得最新的值&#xff0c;只是Vue中设置在data中的属性默认绑定&#xff0c;React中需…...

【git】main|REBASE 2/6

很久没合并代码合并出现冲突&#xff0c;自动进入了 main|REBASE 2/6 的提示: 【git】main|REBASE 2/6 It looks like you’ve encountered several merge conflicts after a git pull operation while a rebase is in progress. Here’s how you can resolve these conflict…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

动态规划-1035.不相交的线-力扣(LeetCode)

一、题目解析 光看题目要求和例图&#xff0c;感觉这题好麻烦&#xff0c;直线不能相交啊&#xff0c;每个数字只属于一条连线啊等等&#xff0c;但我们结合题目所给的信息和例图的内容&#xff0c;这不就是最长公共子序列吗&#xff1f;&#xff0c;我们把最长公共子序列连线起…...