Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • MinIO对象存储详细安装教程
    • 介绍
    • 安装部署
      • 安装服务器
      • 开放服务使用端口
      • 挂载磁盘
      • 安装MinIO
      • 创建目录
      • 下载安装文件
      • 设置执行权限
      • 目录结构如下
      • 所有节点都需要执行上述步骤
      • 编写启动脚本
    • 使用
      • Console使用
    • 可能报的错误
      • is part of root drive, will not be used
      • The request signature we calculated does not match the signature you provided
    • 参考资料
  • 《MinIO教程》笔记
Jast-zsh
2023-08-17
目录

MinIO对象存储详细安装教程

[toc]

# 介绍

​ 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
1
2

# 挂载磁盘

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

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

# 安装MinIO

# 创建目录

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

# 下载安装文件

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

# 设置执行权限

chmod +x bin/minio
1

# 目录结构如下

# tree 
.
├── bin
│   └── minio
├── conf
├── data1
└── data2
1
2
3
4
5
6
7

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

也可以使用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 &
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

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;
  }
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

四台服务器均需要放置该脚本,并依次启动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).
1
2
3
4
5
6
7
8
9
10
11
12

# 使用

# 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)
1

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

解决方法

挂载磁盘

# 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

上次更新: 2023/08/17, 17:07:55
最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式