一、安装MinIO
通过预编译二进制文件安装(通用方法)
wget获取Linux amd64版本的MinIO(需联网):wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
通过包管理器安装(推荐,适用于Ubuntu/Debian/CentOS/RHEL)
curl -fsSL https://min.io/download | bash
sudo mv minio.list /etc/apt/sources.list.d/minio.list
sudo apt update && sudo apt install minio
curl -fsSL https://min.io/download | bash
sudo mv minio.repo /etc/yum.repos.d/minio.repo
sudo yum update && sudo yum install minio
二、启动MinIO服务器
基础启动(前台模式,适合测试)
创建数据存储目录(如/data/minio),然后启动:
mkdir -p /data/minio
minio server /data/minio
默认监听http://localhost:9000,控制台访问http://localhost:9000/console。
后台模式+自定义端口(生产推荐)
指定控制台端口(如9001)并后台运行:
minio server /data/minio --console-address ":9001"
使用Systemd管理(开机自启)
创建systemd服务文件/etc/systemd/system/minio.service:
[Unit]
Description=MinIO Server
After=network.target
[Service]
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always
User=minio
Group=minio
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
三、配置MinIO安全认证
设置访问密钥(永久有效)
~/.bashrc或~/.profile,添加:export MINIO_ROOT_USER=admin # 自定义访问密钥
export MINIO_ROOT_PASSWORD=your_strong_password # 自定义秘密密钥
source ~/.bashrc
minio server /data/minio --access-key admin --secret-key your_strong_password
配置防火墙
开放MinIO服务端口(默认9000)和控制台端口(如9001):
sudo ufw allow 9000/tcp # MinIO API端口
sudo ufw allow 9001/tcp # 控制台端口
sudo ufw reload
四、使用MinIO客户端(mc)管理存储
安装MinIO客户端(mc)
下载并配置mc(与MinIO服务器同目录):
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
配置mc别名(简化命令)
将MinIO服务器添加为别名myminio(替换为实际IP/域名):
mc alias set myminio http://localhost:9000 admin your_strong_password
常用操作命令
mc mb myminio/mybucket
mc cp /local/path/file.txt myminio/mybucket/
mc cp myminio/mybucket/file.txt /local/path/
mc ls myminio/mybucket
mc rb myminio/mybucket
五、可选配置(增强可用性)
配置SSL/TLS(加密传输)
生成自签名证书(或使用CA证书),启动时指定证书路径:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/minio-key.pem -out /etc/ssl/certs/minio-cert.pem
minio server /data/minio --certs-dir /etc/ssl/certs
客户端连接时需使用https://地址。
结合大数据工具(如Spark)
在Spark项目中添加MinIO依赖(Maven):
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.1</version>
</dependency>
配置Spark读取/写入MinIO数据:
val minioClient = MinioClient.builder()
.endpoint("http://localhost:9000")
.credentials("admin", "your_strong_password")
.build()
minioClient.putObject(PutObjectArgs.builder()
.bucket("mybucket")
.object("spark_data.txt")
.stream(new FileInputStream("/local/spark_data.txt"), -1, 10485760) // 10MB chunk
.build())