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
安装部署
操作系统:CentOS-7.x
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 #添加执行权限
#用命令行启动minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=minioadmin nohup /data/server/minio/bin/minio server --config-dir /data/server/minio/config /data/server/minio/data --address ":6900" --console-address ":6901" > /data/server/minio/log/minio.log 2>&1 &
#查看web控制台
http://192.168.21.100:6901/
用户名: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=":6900"
#Console端口
export MINIO_CONSOLE_ADDRESS=":6901"
#设置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:6901/
登录系统
创建桶Buckets
输出名称
测试上传
至此,Linux下MinIO单节点安装部署完成。