• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • MINIO分布式集群搭建

    標簽: 對象存儲

    搭建分布式集群

    • 使用docker-compose

    中文文檔:https://docs.min.io/cn/deploy-minio-on-docker-compose.html
    Docker Compose允許定義和運行單主機,多容器Docker應用程序。
    使用Compose,您可以使用Compose文件來配置MinIO服務。 然后,使用單個命令,您可以通過你的配置創建并啟動所有分布式MinIO實例。 分布式MinIO實例將部署在同一主機上的多個容器中。 這是建立基于分布式MinIO的開發,測試和分期環境的好方法。
    環境準備:docker,docker-compose
    獲取docker鏡像

    1. 可以從docker官方網站獲取最新鏡像:https://hub.docker.com/r/minio/minio/
    2. 此處我已經下載好了,獲取minio.tar包,導入鏡像
      docker load -i minio.tar
      docker images minio/minio:1.1
      獲取docker-compose.yaml文件
    version: '2.3'
    services:
      minio1:
        image: minio/minio:1.1
        volumes:
          - /export/data/minio/minio1-1:/data1
          - /export/data/minio/minio1-2:/data2
        ports:
          - "9001:9000"
        environment:
          MINIO_ACCESS_KEY: minio
          MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
          interval: 30s
          timeout: 20s
          retries: 3
    
      minio2:
        image: minio/minio:1.1
        volumes:
          - /export/data/minio/minio2-1:/data1
          - /export/data/minio/minio2-2:/data2
        ports:
          - "9002:9000"
        environment:
          MINIO_ACCESS_KEY: minio
          MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
          interval: 30s
          timeout: 20s
          retries: 3
    
      minio3:
        image: minio/minio:1.1
        volumes:
          - /export/data/minio/minio3-1:/data1
          - /export/data/minio/minio3-2:/data2
        ports:
          - "9003:9000"
        environment:
          MINIO_ACCESS_KEY: minio
          MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
          interval: 30s
          timeout: 20s
          retries: 3
    
      minio4:
        image: minio/minio:1.1
        volumes:
          - /export/data/minio/minio4-1:/data1
          - /export/data/minio/minio4-2:/data2
        ports:
          - "9004:9000"
        environment:
          MINIO_ACCESS_KEY: minio
          MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
          interval: 30s
          timeout: 20s
          retries: 3
    
    #volumes:
    #  data1-1: /export/data/minio/minio1
    #  data1-2: /export/data/minio/minio1-2
    #  data2-1: /export/data/minio/minio2
    #  data2-2: /export/data/minio/minio2-2
    #  data3-1: /export/data/minio/minio3
    #  data3-2: /export/data/minio/minio3-2
    #  data4-1: /export/data/minio/minio4
    #  data4-2: /export/data/minio/minio4-2
    
    

    參數的簡單解釋:
    在這里插入圖片描述

    啟動
    docker-compose up
    會發現運行了四個容器
    在這里插入圖片描述

    測試
    登陸
    http://{ip}:9001/minio/login 賬號密碼為docker-compose中寫的
    創建桶,上傳文件,無問題證明可用

    • 二進制分布式部署
      此處我們使用了4臺機器,每臺機器上一塊盤
      盤的路徑為:/export/data
      獲取包
      wget https://dl.minio.io/server/minio/release/linux-amd64/minio
      增加執行權限
      文件所在目錄/export/software/minio
      chmod +x minio
      依次執行以下命令
    export MINIO_ACCESS_KEY=MinIO   
    export MINIO_SECRET_KEY=zzAdmin2020
    /export/software/minio/minio server --compat http://192.168.1.1/export/data/  http://192.168.1.2/export/data/ http://192.168.1.3/export/data/ http://192.168.1.4/export/data > minio_server.log 2>&1 &
    

    四臺機器都要執行上述命令
    最后日志中出現:
    Status: 4 Online, 0 Offline.
    部署無問題
    登錄測試:
    默認為9000端口,隨意找一個機器登錄9000端口創建桶,上傳文件無問題證明好使

    • nginx代理
      我們可以通過nginx實現負載均衡
      nginx配置如下:
    upstream minio_server {
        server 192.168.8.1:9000;
        server 192.168.8.2:9000;
        server 192.168.8.3:9000;
        server 192.168.8.4:9000;
        }
    server {
        listen 80;
        server_name minio.com;
        
        location / {
            proxy_set_header Host $http_host;
    client_body_buffer_size 10M;
            client_max_body_size 1024M;
            proxy_buffers 1024 4k;
            proxy_read_timeout 300;
            proxy_pass http://minio_server;
        }
    }
    
    
    版權聲明:本文為baishancha原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/baishancha/article/details/107615279

    智能推薦

    神奇的Batch Normalization 如果一個模型僅訓練BN層會是什么樣的

    您可能會感到驚訝,但這是有效的。 ? 最近,我閱讀了arXiv平臺上的Jonathan Frankle,David J. Schwab和Ari S. Morcos撰寫的論文“Training BatchNorm and Only BatchNorm: On the Expressive Power of Random Features in CNNs”。 這個主意立刻引起了...

    用Python實現校園通知更新提醒

    前言 這個項目實已經在一個月前已經完成了,一直都想寫一篇博客來總結這個過程中遇到的一些問題。但最近一個月來都比較忙,所以一直拖到了現在。 首先說說起因吧,我沒事的時候,總喜歡依次點開學校主頁、教務處、圖書館以及學院的網站,看看有沒有什么新通知,雖然大多與我無關。恰逢最近正在學Python,經常聽到別人說用Python寫爬蟲很簡單,但自己尚未接觸過爬蟲。于是抱著試一試的心態看了幾篇關于Python爬...

    spring_ioc相關_第一章

    1 spring是一站式框架,在javaee的三層結構中,每一層都提供不提并的解決技術 web層:springMVC service層:spring的ioc dao層:spring的jdbcTemplate 2 javaee為避免兩個類之間出現耦合,則把對象的創建交給spring進行管理,spring的ioc操作:(1)ioc的配置文件方式;(2)ioc注解方式 3 ioc的底層原理使用技術(1)...

    【Python+OpenCV】視頻流局部區域像素值處理-一種特征提取方法

    參考我之前寫的處理圖片的文章:Python+OpenCV實現【圖片】局部區域像素值處理(改進版) 開發環境:Python3.6.0 + OpenCV3.2.0 任務目標:攝像頭采集圖像(例如:480*640),并對視頻流每一幀(灰度圖)特定矩形區域(480*30)像素值進行行求和,得到一個480*1的數組,用這480個數據繪制條形圖,即在逐幀采集視頻流并處理后“實時”顯示采...

    JavaWeb——【前端】——注冊頁面

    頁面效果 實現代碼 注意事項 主要使用的bootstrap樣式 如果想引用,不要直接復制,沒用的。 先介紹下所引用的文件: boostrap的js、bootstrap的css、jquery的js、以及自己編寫的register.css。 因為博主用的thymeleaf語法,所以有th符號。 若要使用時,根據個人情況導入相應的依賴。...

    猜你喜歡

    網站HTTP升級HTTPS完全配置手冊

    本文由葡萄城技術團隊于博客園原創并首發 轉載請注明出處:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。 今天,所有使用Google Chrome穩定版的用戶迎來了v68正式版首個版本的發布,詳細版本號為v68.0.3440.75,上一個正式版v67.0.3396.99發布于6月13日,自Chrome 68起,當在加載非HTTPS站點時,都會在地址欄上明確標記為&ldqu...

    echarts 自定義儀表盤設置背景圖片

    echarts儀表盤 使用插件 vue-echarts 代碼示例 HTML部分 js部分 效果圖...

    RT-Thread Studio部分定時器時鐘不正確的解決方案

    在昨天的RT-Thread Studio硬件定時器hwtimer在stm32f411上的使用筆記中,遇到了部分定時器速度想象中和實際不一致的情況,具體表現在定時器2、3、4、5、9、10、11都正常,但定時器1要快一倍。 仔細查看代碼,找到了原因。 因為代碼使用的是工程是直接生成的時鐘代碼,實際的時鐘頻率是這樣的: 而實際的定時器時鐘配置代碼如下: 針對F411,去掉其中的宏定義是這樣的: 這里說...

    symfony學習筆記之模板渲染-----twig總結

    參考:https://blog.csdn.net/liebert/article/details/77414217 目錄 一、模板引擎工作原理 二、Twig模板引擎 1.運行環境要求 2.基本API用法 3.設計模板 (1)變量輸出         a.全局變量         b.設置變量 (2)...

    小甲魚Python3學習筆記之第六講(僅記錄學習)

    第六講:python之常用操作符 一、知識點: 0.算術運算符:+,-,*,/,%(取模,即求余數),**(冪運算),//(地板除法,取整除,返回商的整數部分) 備注:①雙斜杠 // 除法總是向下取整。             ②從符點數到整數的轉換可能會舍入也可能截斷,建議使用math....

    精品国产乱码久久久久久蜜桃不卡