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

minio集群部署–linux环境

原文地址:minio集群部署–linux环境 – 无敌牛

欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等

第一步:安装

有rpm、deb、和二进制文件安装方式。参考文档在:MinIO Object Storage for Linux — MinIO Object Storage for Linux。

每一台参与集群的服务器都需要安装。

1.1 rpm安装

直接从官方下载,使用 rpm -i 或者 dnf install 命令就可以

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240826153307.0.0-1.x86_64.rpm -O minio.rpm
sudo dnf install minio.rpm

1.2 deb安装

直接从官方下载运行,使用 dpkg -i 就可以

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20240826153307.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb

1.3 二进制安装

由于minio是纯静态编译的,不需要外部链接库,可以直接下载后运行。只要CPU指令集和操作系统合适,基本就会运行,兼容性很强。加可执行权限后,放在 /usr/local/bin/ 目录即可。

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

第二步:创建用户

不推荐用root直接运行minio,此处创建用户minio,并把存储卷(数据目录)权限给到minio用户。用户名随意。每一台参与集群的服务器都需要创建用户。

adduser 和 useradd 命令各个系统版本参数不一致,根据实际情况添加用户。

存储卷每个目录最好单独挂载硬盘,关于硬盘分区、制作文件系统、挂载,参看往期文章:linux磁盘分区、制作文件系统及挂载 – 无敌牛

第三步:配置部署

此处需要配置 minio.service、主机名和启动时的环境变量。每一台参与集群的设备都要做如下相同的配置。

3.1 配置 minio.service

创建 /usr/lib/systemd/system/minio.service 文件。如果是 rpm 或者 deb 安装的,则默认就存在这两个文件,只需要修改即可。内容如下:

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
Type=notifyWorkingDirectory=/usr/localUser=minio
Group=minio
ProtectProc=invisibleEnvironmentFile=-/etc/minio/minio.conf
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES# Let systemd restart this service always
Restart=always# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576# Turn-off memory accounting by systemd, which is buggy.
MemoryAccounting=no# Specifies the maximum number of threads this process can create
TasksMax=infinity# Disable timeout logic and wait until process is stopped
TimeoutSec=infinitySendSIGKILL=no[Install]
WantedBy=multi-user.target# Built for ${project.name}-${project.version} (${project.name})

其中,环境变量文件,默认是 EnvironmentFile=-/etc/default/minio 。我这里修改成 EnvironmentFile=-/etc/minio/minio.conf

User和Group使用了第二步创建的minio用户

3.2 设置 /etc/hosts 信息

打开 /etc/hosts 文件,添加需要做集群的几台系统 IP 地址和主机名,如下图,这是3台设备的配置。

3.3 配置启动环境变量

创建 /etc/minio/minio.conf 文件,并做以下配置:

我这里准备了3台设备分别是 xxxnode1 xxxnode2 xxxnode3,每台设备提供两个磁盘,挂载到 /data/minio_1 和 /data/minio_2目录,所以这样配置。需要根据自己的环境调整配置。

字段解释:

MINIO_ROOT_USER : 管理员用户名
MINIO_ROOT_PASSWORD : 管理员密码
MINIO_STORAGE_CLASS_STANDARD : 标准存储纠删码级别设置为 EC:2
MINIO_STORAGE_CLASS_RSS : REDUCED存储类纠删码级别也设置为 EC:2
MINIO_VOLUMES : 设置存储卷地址如果设置其他参数,可以加在MINIO_OPTS变量里。例如:
MINIO_OPTS="--console-address :9013 --address :9011"

设置管理台登录页面端口是 9013,可以通过 http://xx.xx.xx.xx:9013 访问管理页面。

设置数据访问端口为 9013,默认是 9000,修改此端口,MINIO_VOLUMES 也要做相应的改变。

如果要单机部署,需要把MINIO_STORAGE_CLASS_STANDARD 和 MINIO_STORAGE_CLASS_RSS 设置为 EC:0,把MINIO_VOLUMES 设置为绝对路径即可,不需要带域名端口等信息。

第四步,启动

systemctl daemon-reload 重新加载 systemd 配置

systemctl start minio 启动minio,需要对每台设备都启动才可以。

systemctl enable minio 设置为开机启动


关于客户端的使用问题,参看往期文章:minio的客户端mcli基本操作 – 无敌牛 可用创建 bucket ,复制进去文件及cat获取,以及切换连接不同的设备来查看集群是否生效。

SDK开发参看往期文章:

python连接minio:python连接minio,实现创建桶、上传和下载功能 – 无敌牛

golang连接minio: golang连接minio,实现创建桶、上传和下载功能 – 无敌牛

由于时间不同步导致minio服务异常,参看往期文章:chrony实现NTP时间同步 – 无敌牛 实现NTP时间同步

相关文章:

minio集群部署–linux环境

原文地址:minio集群部署–linux环境 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 第一步:安装 有rpm、deb、和二进制文件安装方式。参考文档在:MinIO Object Storage for Linux — MinIO Object Storage …...

在vue3里使用scss实现简单的换肤功能

实现的换肤功能:主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色,可以配置到组件库上面;亮色模式又分为两种风格:纯白风格和背景图风格,不需要背景图的话可以删掉这部分逻辑和相关定义&#xff1b…...

JavaScript编写css自定义属性

一、自定义属性 是在 CSS 中定义的变量,以 --开头。它们可以存储颜色、尺寸、字体等任何 CSS 值,并且可以在整个文档中重复使用。 :root {--primary-color: #3498db;--font-size: 16px; }body {color: var(--primary-color);font-size: var(--font-siz…...

我们来学webservie - WSDL

WSDL 题记WSDL系列文章 题记 举个例子 酒桌上大领导们谈笑风生,把酒临风,其喜洋洋者矣老张说能签下xx项目,一来证明了集团在行业中的翘楚地位,二来感谢各位领导给予的大力支持接下来的一周,项目经理、业务顾问相继入场&#xff0…...

【Agent】构建智能诗歌创作系统:基于多 Agent 的协同创作实现

在探索大语言模型的创意应用过程中,我们开发了一个基于多 Agent 的智能诗歌创作系统。本文将介绍如何通过多个专业化的 Agent 协同工作,实现根据地点和天气信息自动创作诗歌的功能。 GitHub Code 项目地址 核心架构设计 1. Agent 基类设计 from pydan…...

001 LVGL PC端模拟搭建

01 LVGL模拟器介绍 使用PC端软件模拟LVGL运行,而不需要任何嵌入式硬件 环境搭建:codeblocks-20.03mingw-setup 正常安装流程即可 工程获取:LVGL官网-> github仓库 本地安装包下载资源包 工程模版和软件安装包 补充:…...

AJAX三、XHR,基本使用,查询参数,数据提交,promise的三种状态,封装-简易axios-获取省份列表 / 获取地区列表 / 注册用户,天气预报

一、XMLHttpRequest基本使用 XMLHttpRequest(XHR)对象用于与服务器交互。 二、XMLHttpRequest-查询参数 语法: 用 & 符号分隔的键/值对列表 三、XMLHttpRequest-数据提交 核心步骤 : 1. 请求头 设置 Content-Type 2. 请求体 携带 符合要求 的数…...

mybatis之数据统计与自定义异常处理

文章目录 需求描述定义实体方式一、mybatisPlus实现方式二、自定义SQL实现简单查询过滤查询 异常处理1、SQL拼写异常 在使用Mybatis或MybatisPlus进行数据统计,在【 SpringBoot的Mybatis-plus实战之基础知识】中对mybatisplus引入有介绍,本次要使用其进…...

qt creator使用taglib读取音频元信息,windows平台vcpkg安装

注意:qt creator用的构建组件是qt 6.2.3 MSVC2019 64bit 安装vcpkg // 我的安装位置C:\vcpkg git clone https://github.com/microsoft/vcpkg.git C:\vcpkg cd C:\vcpkg .\bootstrap-vcpkg.bat// 设置系统环境变量 VCPKG_ROOT C:/vcpkg用vcpkg安装taglib vcpkg …...

设计模式之生成器模式

目录 1.简介 2.结构 3.使用场景 4.实例 5.优缺点 6.与其他模式的关系 7.总结 1.简介 生成器模式(Builder Pattern)是一种创建型设计模式,它允许你通过一步一步构建复杂对象,而不是通过一个包含大量参数的构造函数或方法。该…...

python学opencv|读取图像(三)放大和缩小图像

【1】引言 前序已经学习了常规的图像读取操作和图像保存技巧,相关文章链接为: python学opencv|读取图像-CSDN博客 python学opencv|读取图像(二)保存彩色图像-CSDN博客 今天我们更近一步,学习放大和缩小图像的技巧&…...

1 数据库(上):MySQL的概述和安装、SQL简介、IDEA连接数据库使用图形化界面

文章目录 前言一、数据库相关的概念二、MySQL概述1 MySQL的安装和配置2 MySQL登录、退出(1)mysql -uroot -p1234 或者mysql -uroot -p ---- 登录(2)exit或者quit ---- 退出 3 远程登录服务器上的MySQL命令mysql -hip地址 -P3306 -…...

C++初阶—类与对象(中篇)

第一章:类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显式实现&a…...

Leetcode15. 三数之和(HOT100)

链接 一般这种三数之和,四数之和都使用双指针,复杂度最优,次一级可使用哈希表。前者要求有序,后者空间上有花费。 题目: 题目要求答案中不能出现重复vector,比如{-1 1 0}和{-1 0 1}; 这两个…...

Oracle数据库小白备忘

sqlplus相关 导入sql文件 在sqlplus中,导入一个sql文件,是使用或者start。 如当前目录下有一个hello.sql,则可以使用 hello.sql 或者 start hello.sql 来进行导入,功能类似于mysql里面的source。 退出编辑模式 当使用sqlplus…...

DDR4与DDR3服务器内存的关键区别有哪些?

内存作为服务器性能的关键组件之一,已经经历了从DDR3到DDR4的过渡。DDR4内存相较于DDR3在多个方面有所提升,包括速度、带宽、功耗以及数据传输效率等。然而,尽管DDR4内存在性能上占有优势,DDR3内存依然在一些特定场景中得到了广泛…...

Linux: shell: bash: set -x;调试使用

man bash set -x -x After expanding each simple command, for command, case command, select command, or arithmetic for command, display the expanded value of PS4, followed by the command and its expanded arguments or associated word list. 这个可以帮助将变量…...

Hadoop生态圈框架部署 伪集群版(五)- HBase伪分布式部署

文章目录 前言一、Hbase伪分布式部署(手动部署)1. 下载Hbase2. 上传安装包3. 解压HBase安装包4. 配置HBase配置文件4.1 修改hbase-env.sh配置文件4.2 修改hbase-site.xml配置文件4.3 修改regionservers配置文件4.4 删除hbase中slf4j-reload4j-1.7.33.jar…...

自定义指令,全局,局部,注册

让输入框自动获取焦点(每次刷新自动获取焦点&#xff09; <template><div><h3>自定义指令</h3><input ref"inp" type"text"></div> </template><script> export default {mounted(){this.$refs.inp.focus…...

静坐修心.

文章目录 打坐的历史文化渊源东方的起源与传承西方的接受与演变现代生活中的打坐 盘腿坐对身体的影响促进脊椎健康改善呼吸系统功能增强消化系统机能改善血液循环调节神经系统错误姿势及其他潜在危害 盘腿坐对心理的作用促进内心平静与放松提升自我觉察与内在探索培养专注力与精…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档&#xff1f;从规划到实践的完整指南 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现&#xff0c;包括选择排序、冒泡排序、插入排序、快速排序和归并排序&#xff0c;以及每种算法的特点和复杂度分析 1. 选择排序&#xff08;Selection Sort&#xff09; 核心思想&#xff1a;每次从未排序部分选择最小元素&#xff0c;与未排…...