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

Linux下MinIO分布式安装部署

文章目录

  • 一、MinIO简单说明
  • 二、MinIO分布式安装部署
    • 1、关闭SELINUX
    • 2、开启防火墙
      • 2.1、关闭firewall:
      • 2.2、安装iptables防火墙
    • 3、安装MinIO
    • 4、添加MinIO集群控制脚本
      • 4.1添加启动脚本
      • 4.2添加关闭脚本
    • 5、MinIO控制台使用

一、MinIO简单说明

1、MinIO是一个轻量的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
2、MinIO使用简单,功能强大,支持各种平台,单个文件最大5TB,兼容 Amazon S3接口,提供了 JavaPythonGO等多版本SDK支持。
3、MinIO集群采用去中心化共享架构,每个结点是对等关系,通过Nginx可对MinIO进行负载均衡访问。
4、MinIO采用去中心化设计,在大数据领域,通常的设计理念都是无中心和分布式。
5、Minio分布式模式可以搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
6、Minio分布式模式将分布在不同服务器上的多块硬盘组成一个对象存储服务,由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。
7、MinIO分布式模式下根目录/不可以做为MinIO的数据目录,MinIO官方建议MinIO集群最少4个节点。

官方网站:https://min.io/
下载地址(二进制包安装):https://dl.min.io/server/minio/release/linux-amd64/minio
MinIO客户端mc(二进制包安装):https://dl.min.io/client/mc/release/linux-amd64/mc

二、MinIO分布式安装部署

在所有节点执行操作
操作系统:CentOS-7.x\8.x\‌AnolisOS‌\openEuler\Kylin-Server-V10等

1、关闭SELINUX

vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效

2、开启防火墙

  • 系统默认使用的是firewall作为防火墙,这里改为iptables防火墙。
  • MinIO默认API通信端口是9000,Console端口随机生成,生产环境建议修改。
  • API端口:6900
  • Console端口:6901

2.1、关闭firewall:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl mask firewalld
systemctl stop firewalld
yum remove firewalld

2.2、安装iptables防火墙

yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6900 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
/usr/libexec/iptables/iptables.init restart #重启防火墙

3、安装MinIO

#创建安装目录
mkdir -p /data/server/minio/{bin,data,config,log}
bin:二进制文件目录
data:数据存储目录
config:配置文件目录
log:日志文件路径
#下载二进制安装包到bin目录,或者提前下载好拷贝过来,建议MinIO服务端和客户端都安装
cd  /data/server/minio/bin
wget https://dl.min.io/server/minio/release/linux-amd64/minio
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x minio  #添加执行权限
chmod +x mc #添加执行权限

4、添加MinIO集群控制脚本

在所有节点都添加

4.1添加启动脚本

vi  /data/server/minio/minio-cluster-start.sh
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
nohup  /data/server/minio/bin/minio server --config-dir /data/server/minio/config \
--console-address ":6901" --address ":6900" \
http://192.168.21.100/data/server/minio/data \
http://192.168.21.101/data/server/minio/data \
http://192.168.21.128/data/server/minio/data \
http://192.168.21.129/data/server/minio/data & \
:wq! #保存退出
#添加执行权限
chmod +x  /data/server/minio/minio-cluster-start.sh
#启动,在所有节点都执行
sh  /data/server/minio/minio-cluster-start.sh

4.2添加关闭脚本

vi  /data/server/minio/minio-stop.sh
#!/bin/bash
echo "Stopping minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
thenkill -9 $pid
fi
echo "Stop Success!"
:wq! #保存退出
#添加执行权限
chmod +x  /data/server/minio/minio-stop.sh
#关闭MinIO
sh /data/server/minio/minio-stop.sh

5、MinIO控制台使用

打开http://192.168.21.100:6900/
在这里插入图片描述

至此,LinuxMinIO分布式安装部署完成。

http://www.lqws.cn/news/604441.html

相关文章:

  • 大语言模型随意猜测网址引发网络安全危机
  • 深入理解装饰器模式:动态扩展对象功能的灵活设计模式
  • 软考高项一次过,个人经验总结
  • Docker:容器化技术的基石与实践指南
  • 【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
  • MinHook 如何对 .NET 母体 CoreCLR 进行拦截
  • 【Unity】MiniGame编辑器小游戏(九)打砖块【Breakout】
  • 深入解析外观模式(Facade Pattern):简化复杂系统的优雅设计
  • Cursor推出全平台AI编程代理,Ultra订阅200美元/月,支持跨设备多任务
  • 123页满分PPT | 华为流程体系建设与运营华为数字化转型流程解决方案及建设案例
  • mars3d (基于 Cesium 的轻量化三维地图库)
  • 老版本 dubbo 泛化调用
  • MiniMind(2)模型架构
  • Java学习第五部分——API部分
  • docker离线/在线环境下安装elasticsearch
  • 多云密钥统一管理实战:CKMS对接阿里云/华为云密钥服务
  • Gin 框架中的优雅退出
  • 智慧赋能高压并网:分布式光伏监控系统在5.88MW物流园项目的实践解析
  • gin如何返回html
  • php安装完毕后没有php-fpm服务
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • 【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(1)神经网络预备知识(线性代数、微积分、概率等)
  • 回顾JAVA中的锁机制
  • iOS重构期调试实战:架构升级中的性能与数据保障策略
  • Java的SpringAI+Deepseek大模型实战-会话记忆【三】
  • Kotlin Data包含ByteArray类型
  • 【RTSP从零实践】6、实现最简单的同时传输H264、AAC的RTSP服务器
  • 【记录】基于 C++ 和 Winsock 的简单 TCP 通信实现
  • 基于[coze][dify]搭建一个智能体工作流,使用第三方插件抓取热门视频数据,自动存入在线表格
  • Node.js-http模块