• Minio集群搭建


    一、官方文件
    1、minio官网

    https://min.io/

    2、中文文档

    http://docs.minio.org.cn/docs/

    3、集群原理
    在这里插入图片描述
    二、集群部署
    1、在每台服务器上创建minio目录

    mkdir -p /app/minio/{run,data1,data2} && mkdir -p /etc/minio
    
    • 1

    2、下载或者上传下载好的minio二进制文件

    https://dl.min.io/server/minio/release/linux-amd64/minio
    
    • 1

    3、集群启动文件配置
    在这里插入图片描述

    vim /app/minio/run/minio-run.sh
    
    • 1

    集群节点 172.16.9.26 [注意address配置需要和部署机器的IP一致,否则无法启动]内容为:

    #!/bin/bash
    export MINIO_ACCESS_KEY=admin
    export MINIO_SECRET_KEY=admin123
    /app/minio/run/minio server --config-dir /etc/minio \
    --address "172.***.***.26:23561" \
    --console-address "172.***.***.23:23560" \
    http://172.***.***.26/app/minio/data1 http://172.***.***.26/app/minio/data2 \
    http://172.***.***.23/app/minio/data1 http://172.***.***.23/app/minio/data2 \
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    集群节点 172.16.9.23 内容为:

    #!/bin/bash
    export MINIO_ACCESS_KEY=admin
    export MINIO_SECRET_KEY=admin123
    /app/minio/run/minio server --config-dir /etc/minio \
    --address "172.***.***.23:23561" \
    --console-address "172.***.***.23:23560" \
    http://172.***.***.26/app/minio/data1 http://172.***.***.26/app/minio/data2 \
    http://172.***.***.23/app/minio/data1 http://172.***.***.23/app/minio/data2 \
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4、创建Minio.server,将minio加入系统服务

    vim /usr/lib/systemd/system/minio.service
    
    • 1
    [Unit]
    Description=Minio service
    Documentation=https://docs.minio.io/
    
    [Service]
    WorkingDirectory=/app/minio/run/
    ExecStart=/app/minio/run/minio-run.sh
    
    Restart=on-failure
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    修改配置文件后需要重加载配置

    systemctl daemon-reload
    
    • 1

    5、权限修改

    chmod +x /usr/lib/systemd/system/minio.service && chmod +x /app/minio/run/minio && chmod +x /app/minio/run/minio-run.sh
    
    • 1

    6、启动集群

    systemctl start minio
    
    • 1
    systemctl enable minio
    
    • 1

    查看集群状态

    systemctl status minio.service -l
    
    • 1

    在这里插入图片描述

    关闭服务

    systemctl stop minio
    
    • 1

    三、Nginx反向代理与负载均衡

    upstream minio_api {
    	least_conn;
        server 172.*.*.23:23561 max_fails=3 fail_timeout=5s;
        server 172.*.*.26:23561 max_fails=3 fail_timeout=5s;
    }
    
    upstream minio_console {
    	least_conn;
        server 172.*.*.23:23560 max_fails=3 fail_timeout=5s;
        server 172.*.*.26:23560 max_fails=3 fail_timeout=5s;
    }
    
    server {
        listen          9001;
        server_name     minio_console;
        access_log      /app/zhoujun/minio/logs/minio.com_access.log;
        error_log       /app/zhoujun/minio/logs/minio.com_error.log;
       
        location / {
            proxy_set_header Host $http_host;
    		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 X-NginX-Proxy true;
            
    		# This is necessary to pass the correct IP to be hashed
    		real_ip_header X-Real-IP;
    		
    		proxy_connect_timeout 300;
    		
    		# To support websockets in MinIO versions released after January 2023
    		proxy_http_version 1.1;
    		proxy_set_header Upgrade $http_upgrade;
    		proxy_set_header Connection "upgrade";
    		
    		chunked_transfer_encoding off;
    	
    		# This uses the upstream directive definition to load balance
    		proxy_pass	http://minio_console;
        }
    }
    
    server {
        listen          9000;
        server_name     minio_api;
        access_log      /app/zhoujun/minio/logs/minio.com_access.log;
        error_log       /app/zhoujun/minio/logs/minio.com_error.log;
    
        location / {
    	  proxy_set_header Host $http_host;
          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_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;
    	  proxy_pass	http://minio_api;
        }
    }
    
    
    • 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
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    在这里插入图片描述
    ps:配置的时候以最新的官网为准

    四、集群部署结果
    在这里插入图片描述

  • 相关阅读:
    MyBatis trim标签起什么作用呢?
    Java 性能 - ArrayLists 与 Arrays 的大量快速读取
    测试Python的poplib模块读取邮箱信息
    Vitis AI 全中文文档集合
    接入国家能源平台MQTT应用案例
    GLM-4-9B 支持 Ollama 部署
    5种kafka消费端性能优化方法
    动态资源平衡:主流虚拟化 DRS 机制分析与 SmartX 超融合的实现优化
    BoT-SORT与Strong-SORT论文对比及思考总结
    coco_eval.py详解
  • 原文地址:https://blog.csdn.net/zj20142213/article/details/132758917