一、Minio概述
Minio是一款開源的對象存儲服務器,可以運行在多種操作系統上,包括Linux、Windows和MacOS等。提供一種簡單、可擴展、高可用的對象存儲解決方案,支持多種數據格式,包括對象、塊和文件等。Minio是一款強大、靈活、可擴展的對象存儲服務器,適用于各種應用場景,包括云存儲、大數據存儲和物聯網等。
官網地址:
https://min.io/
文檔地址:
https://docs.min.io/
Minio的主要特點:
簡單易用: Minio的安裝和配置非常簡單,只需要下載并運行相應的二進制文件即可。它提供了一個Web UI,可以通過界面管理存儲桶和對象。可擴展性: Minio可以輕松地擴展到多個節點,以提供高可用性和容錯能力。它支持多種部署模式,包括單節點、主從復制和集群等。高可用性: Minio提供了多種機制來保證數據的可靠性和可用性,包括冗余備份、數據復制和故障轉移等。安全性: Minio提供了多種安全機制來保護數據的機密性和完整性,包括SSL/TLS加密、訪問控制和數據加密等。多語言支持: Minio支持多種編程語言,包括Java、Python、Ruby和Go等。社區支持: Minio是一個開源項目,擁有龐大的社區支持和貢獻者。它的源代碼可以在GitHub上獲得,并且有一個活躍的郵件列表和論壇。對象存儲: Minio的核心功能是對象存儲。它允許用戶上傳和下載任意數量和大小的對象,并提供了多種API和SDK來訪問這些對象。塊存儲: Minio還支持塊存儲,允許用戶上傳和下載大型文件(例如圖像或視頻)。塊存儲是一種快速、高效的方式來處理大型文件。文件存儲: Minio還支持文件存儲,允許用戶上傳和下載單個文件。文件存儲是一種簡單、快速的方式來處理小型文件。
二、Minio應用場景
大規模數據存儲: 由于MinIO使用分布式環境來存儲數據,因此可以輕松擴展以滿足需要管理大量數據的組織和企業的需求。圖像和媒體存儲: 由于MinIO對原始二進制數據進行了優化,因此非常適合存儲圖像、音頻和視頻等媒體文件。它還支持WebP、JPEG和PNG等格式,可在多種設備和瀏覽器上工作。云原生應用程序: MinIO是一個云原生的對象存儲系統,可以與Kubernetes、Docker Swarm和Mesosphere等容器編排工具無縫集成,可以很好地滿足基于云的應用程序的需求。數據保護和災難恢復: MinIO的多副本寫入功能和內置的糾刪碼支持,使得數據備份和恢復變得簡單而強大。分布式計算和機器學習: MinIO提供STS(S3 Select)和HDFS接口,支持在數據倉庫中直接運行SQL查詢和MapReduce等并行處理框架。這使得它成為用于Big Data、AI和ML等分布式計算任務的理想選擇。
包括但不限于以上幾種。
三、Centos7安裝Minio
1.創建目標文件夾
mkdir minio
2.使用docker查看目標鏡像狀況
docker search minio
3.使用docker拉取鏡像
docker pull minio/minio
4.查看鏡像拉取情況
docker images
5.docker啟動Minio容器
docker run -p 9000:9000 -p 9090:9090 --net=host --name minio -d --restart=always -e "MINIO_ACCESS_KEY=IT@WangHui" -e "MINIO_SECRET_KEY=IT@WangHui" minio/minio server /data --console-address ":9000" -address ":9090"
過程中配置密碼時,對于密碼強度是有要求的,不然報錯
Docker 命令,具體參數解釋如下:-p: 映射容器內部的端口到宿主機上。其中 9000 和 9090 分別映射到宿主機的 9000 和 9090 端口上。--net=host: 將容器加入到主機網絡中,共享宿主機的 IP 地址。--name minio: 指定容器的名稱為 minio。--restart=always: 設置容器在退出后自動重新啟動。-e: 設置環境變量。這里設置了兩個環境變量:MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY,值分別為 IT@WangHui 和 IT@WangHui。--mount: 將容器內部的目錄掛載到宿主機上。這里將容器內的 /data 目錄掛載到了宿主機的 /data 目錄上。--console-address: 指定容器的控制臺地址。這里設置為 :9000,表示可以通過宿主機上的 9000 端口訪問容器的控制臺。-address: 指定容器的網絡地址。這里設置為 :9090,表示可以通過宿主機上的 9090 端口訪問容器的服務。
頁面訪問9000,代碼里面9090
若是報錯
原因:
主要是因為在啟動docker容器的時候或做docker配置的時候,還對防火墻設置重新啟動等配置,這樣會清除docker的相關配置,導致在查詢防火墻規則的時候顯示不到docker的鏈。iptables -L查詢iptables鏈。
解決:
是由于firewalld重啟導致,而docker重啟又會將其注冊iptables鏈找回來。
然后刪除剛才啟動失敗的容器,不然會繼續報錯容器已存在
systemctl restart docker #重啟docker
docker ps -a #查看運行容器
docker rm -f minio #根據容器名刪除容器(自己注意辨別自己的)
當啟動后在瀏覽器訪問http://localhost:9000就可以訪問minio的圖形化界面了,如圖所示:
用戶名密碼就是啟動參數里面的數據
如果訪問失敗,那就是防火墻問題或者是啟動參數最后兩項沒有添加,再不會有其他的,除非容器沒有啟動成功
查看放行端口可以使用如下命令
firewall-cmd --list-ports
要放行CentOS 7上的9000端口和9090端口,您可以按照以下步驟操作:
1.檢查防火墻狀態
使用以下命令檢查防火墻狀態:
systemctl status firewalld
如果防火墻已停止,則啟動它:
systemctl start firewalld
2.允許9000端口通過防火墻
使用以下命令允許TCP流量通過9000端口:
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9090/tcp --permanent
這將向防火墻添加一個規則,以允許TCP流量通過9000端口。要永久保存此更改,請運行以下命令:
firewall-cmd --reload
3.重新啟動防火墻服務shell
使用以下命令重新啟動防火墻服務:
systemctl restart firewalld
現在,已經成功放行CentOS 7上的9000和9090端口。