MinIO对象存储详细安装教程

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: MinIO对象存储详细安装教程

介绍

​ MinIO 是一种对象存储解决方案,MinIO 旨在部署在任何地方——公共或私有云、裸机基础设施、编排环境和边缘基础设施。Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。基于Apache License v2.0开源协议的对象存储项目,采用Golang实现,客户端支Java,Python,Javacript, Golang语言。

​ 其设计的主要目标是作为私有云对象存储的标准方案。主要用于存储海量的图片,视频,文档等。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几KB到最大5T不等。

安装部署

安装服务器

172.16.24.194

172.16.24.195

172.16.24.196

操作系统:CentOS 7.9

开放服务使用端口

如果防火墙已经关闭则跳过该步骤

firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload

挂载磁盘

使用独立目录挂载一块磁盘,所有机器都需要挂载

[root@172.16.24.194 minio]# df -h 
/dev/sdb1              100G   33M  100G   1% /data1

安装MinIO

创建目录

mkdir minio && mkdir -p minio/{bin,conf,data1,data2,log}

下载安装文件

cd minio/bin && wget https://dl.min.io/server/minio/release/linux-amd64/minio

设置执行权限

chmod +x bin/minio

目录结构如下

# tree 
.
├── bin
│   └── minio
├── conf
├── data1
└── data2

所有节点都需要执行上述步骤

也可以使用scp -r minio/ root@172.16.24.196:/opt同步

编写启动脚本

# vim run.sh

#!/bin/bash

export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minioMMMMmmmm
# 这里配置的 MINIO_SERVER_URL 参数为Nginx地址,Nginx转发的就是MinIO服务地址,这里配置后,在Console页面Share时候的链接才会为http://172.16.24.251,否则share的链接为127.0.0.1
export MINIO_SERVER_URL=http://172.16.24.251

bin/minio server  --address ":9000" --console-address ":9001" \
http://172.16.24.194/data1 \
http://172.16.24.195/data1 \
http://172.16.24.196/data1 \
http://172.16.24.197/data1 \
> minio.log &

Nginx配置

worker_processes  1;

events {
    
    
    worker_connections  1024;
}

http {
    
    
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

upstream minio{
    
    
        server 172.16.24.194:9000;
        server 172.16.24.195:9000;
        server 172.16.24.196:9000;
        server 172.16.24.197:9000;
}

server {
    
    
  listen 80;
  server_name localhost;
  location / {
    
    
            proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;

        proxy_connect_timeout 300;
        # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        chunked_transfer_encoding off;

    root html;
    index index.html index.htm;
    proxy_pass http://minio;
  }
}
}

四台服务器均需要放置该脚本,并依次启动sh run.sh

启动成功提示如下

S3-API: http://172.16.24.197:9000  http://127.0.0.1:9000     
Console: http://172.16.24.197:9001 http://127.0.0.1:9001   

Documentation: https://min.io/docs/minio/linux/index.html

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ You are running an older version of MinIO released 6 days before the latest release ┃
┃ Update: Run `mc admin update`                                                       ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Healing drive 'http://172.16.24.197:9000/data1' - 'mc admin heal alias/ --verbose' to check the current status.
Healing of drive '/data1' complete (healed: 1, failed: 0).

使用

Console使用

访问地址:http://ip:9001 输入run.sh配置的账号密码

image-20230817102457097

点击创建Create Bucket

image-20230817103426194

image-20230817104428901

image-20230817104935647

点击进入pic -> 点击 Upload

image-20230817104953324

上传文件或者目录

image-20230817105030365

可能报的错误

is part of root drive, will not be used

Error: Drive `http://172.16.24.195:9000/opt/minio/data2` is part of root drive, will not be used (*errors.errorString)

集群部署需要独占磁盘分区,不能使用文件夹代替。

解决方法

挂载磁盘

The request signature we calculated does not match the signature you provided

https://blog.csdn.net/weixin_44299027/article/details/131192641

参考资料

https://www.wenjiangs.com/doc/minio-minio-quickstart-guide

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
3月前
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
190 1
|
4月前
|
存储 Ubuntu 安全
如何在 Ubuntu 18.04 上使用 Minio 设置对象存储服务器
在教程主要说明: - 在 Ubuntu 18.04 服务器上安装 Minio 服务器并将其配置为systemd服务。 - 使用Let's Encrypt设置 SSL/TLS 证书以保护服务器和客户端之间的通信。 - 通过HTTPS访问Minio的浏览器界面来使用和管理服务器。
280 1
|
5月前
|
NoSQL 安全 Linux
Linux|minio对象存储服务的部署和初步使用总结
Linux|minio对象存储服务的部署和初步使用总结
158 0
|
8月前
|
存储 安全 算法
对象存储服务-Minio
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
604 1
|
10月前
|
存储 Kubernetes 算法
开源免费的对象存储Minio
Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。
995 0
|
存储 Java 中间件
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
761 1
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
|
17天前
|
存储 对象存储 数据安全/隐私保护
Docker部署MinIO对象存储服务
Docker部署MinIO对象存储服务
48 0
|
4月前
|
存储 Cloud Native 数据挖掘
MinIO作为一种开源的对象存储系统,具有以下核心特点
MinIO作为一种开源的对象存储系统,具有以下核心特点
45 0
|
4月前
|
存储 运维 Cloud Native
MinIO与传统的对象存储系统相比有以下几个不同之处
MinIO与传统的对象存储系统相比有以下几个不同之处
46 0
|
4月前
|
存储 消息中间件 Ubuntu
如何在 Ubuntu 20.04 上以独立模式设置 MinIO 对象存储服务器
在本教程中,将通过以下方式设置 MinIO 的独立部署: - 在运行 Ubuntu 20.04 的服务器上安装 MinIO 服务器。 - 个人计算机上安装 MinIO 客户端并将其配置为与 MinIO 服务器通信。 - 设置数字证书以保护服务器和客户端之间的通信(包括通过 MinIO 控制台)。
273 1