文章目录
- 一、MinIO简单说明
- 二、MinIO单节点安装部署
-
- 1、关闭SELINUX
- 2、开启防火墙
-
- 2.1、关闭firewall:
- 2.2、安装iptables防火墙
- 3、安装MinIO
- 4、添加MinIO控制脚本
-
- 4.1添加启动脚本
- 4.2添加关闭脚本
- 5、MinIO控制台使用
- 6、补充信息
一、MinIO简单说明
1、MinIO
是一个轻量的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
2、MinIO
使用简单,功能强大,支持各种平台,单个文件最大5TB
,兼容 Amazon S3
接口,提供了 Java
、Python
、GO
等多版本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
端口:6901Console
端口:6900
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 #添加执行权限
启动minio
#启动minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=minioadmin
nohup /data/server/minio/bin/minio server --config-dir /data/server/minio/config /data/server/minio/data --address ":6901" --console-address ":6900" > /data/server/minio/log/minio.log 2>&1 &
查看web控制台
http://192.168.21.100:6900/
用户名:admin
密码:minioadmin
4、添加MinIO控制脚本
4.1添加启动脚本
vi /data/server/minio/minio-start.sh
#!/bin/bash
# 设置MinIO的配置参数
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=minioadmin
#设置MinIO端口
#S3-API端口
export MINIO_ADDRESS=":6901"
#Console端口
export MINIO_CONSOLE_ADDRESS=":6900"
#设置MinIO安装路径
export MINIO_PATH_DIR="/data/server/minio/bin"
#设置MinIO配置文件路径
export MINIO_CONFIG_DIR="/data/server/minio/config"
# 设置数据存储路径
export MINIO_DATA_DIR="/data/server/minio/data"
# 启动MinIO服务器
nohup $MINIO_PATH_DIR/minio server --address $MINIO_ADDRESS --console-address $MINIO_CONSOLE_ADDRESS --config-dir $MINIO_CONFIG_DIR $MINIO_DATA_DIR > $MINIO_PATH_DIR/minio.log 2>&1 &
:wq! #保存退出
#添加执行权限
chmod +x /data/server/minio/minio-start.sh
#启动MinIO
sh /data/server/minio/minio-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" ]
then
kill -9 $pid
fi
echo "Stop Success!"
:wq! #保存退出
#添加执行权限
chmod +x /data/server/minio/minio-stop.sh
#关闭MinIO
sh /data/server/minio/minio-stop.sh
sh /data/server/minio/minio-start.sh #启动
5、MinIO控制台使用
打开http://192.168.21.100:6900/
6、补充信息
TIPS:
#集群模式需要删除Minio的data目录,要保证传给minio server命令的硬盘目录完全是全新的目录即可,按照minio官方文档的说法就是:分布式Minio使用的磁盘里必须是干净的,里面没有数据。
#单节点多数据目录模式
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
/data/server/minio/minio server --config-dir /data/server/minio/config \
--address "192.168.21.100:6901" \
http://192.168.21.100/data/server/minio/data1 http://192.168.21.100/data/server/minio/data2 \
http://192.168.21.100/data/server/minio/data3 http://192.168.21.100/data/server/minio/data4 \
#集群模式
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
/data/server/minio/minio server --config-dir /data/server/minio/config \
--console-address ":6900" --address ":6901" \
http://192.168.21.100/data/server/minio/data \
http://192.168.21.101/data/server/minio/data \
http://192.168.21.102/data/server/minio/data \
http://192.168.21.103/data/server/minio/data
至此,Linux
下MinIO
单节点安装部署完成。