iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >MinIO介绍使用
  • 654
分享到

MinIO介绍使用

dockerlinuxjava 2023-09-02 08:09:19 654人浏览 薄情痞子
摘要

MiNIO介绍使用 Minio 介绍 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,python,Javacript, golang语言。 MinIO 英文官网 MinIO 中文官网 注意:中

MiNIO介绍使用

Minio 介绍

MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,python,Javacript, golang语言。

MinIO 英文官网 MinIO 中文官网 注意:中文官方更新不及时,会有很多坑,请以英文官网为准。

应用场景

互联网海量非结构化数据的存储需求

  • 电商网站:海量商品图片

  • 视频网站:海量视频文件

  • 网盘:海量文件

  • 社交网站:海量图片

  • 日志系统:审计日志

  • 镜像仓库:海量Docker镜像

基础概念

  • Object:存储到 Minio 的基本对象,如文件、字节流,视频、音频、日志、镜像等等

  • Bucket:用来存储 Object 的逻辑空间。每个 Bucket 之间的数据是相互隔离的。对于客户端而 言,就相当于一个存放文件的顶层文件夹。

  • Drive:即存储数据的磁盘,在 MinIO 启动时,以参数的方式传入。Minio 中所有的对象数据都会 存储在 Drive 里。

  • Set :即一组 Drive 的集合,分布式部署根据集群规模自动划分一个或多个 Set ,每个 Set 中的 Drive 分布在不同位置。一个对象存储在一个 Set 上。(For example: {1…64} is divided into 4 sets each of size 16.)

MinIO优势

数据保护

1、分布式MInio采用纠删码来放反多个节点待机和位衰减 bit rot

2、分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。

高可用

1、单机Minio服务存在单点故障,相反,如果是有一个N快硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。

2、例如,一个16节点的Minio集群,每个节点16块块硬盘,计算8台服务器宕机,这个集群仍然是可读的,不过你需要9台服务器才能写入数据。

一致性

1、Minio在分布式和单机模式下,所有读写炒作都严格遵守read-after-write 一致性模型

MinIO 使用

使用【服务端】

单机模式 (linux部署)

ps:初始用户名密码:minioadmin

下载linux minio, wget https://dl.min.io/server/minio/release/linux-amd64/minio

linux部署

修改用户名密码:export MINIO_ROOT_USER=usernameexport MINIO_ROOT_PASSWORD=password​启动:./minio server --console-address ":9090" /mnt/data​后台启动,指定日志路径:nohup ./minio server --console-address :"9090" ./miniodata/data >./miniodata/minio.log 2>&1 &​ps:接口默认地址:9000指定console端口:9090

docker部署

docker run \  -p 9000:9000 \  -p 9001:9001 \  -e "MINIO_ROOT_USER=AKIAiOSFODNN7EXAMPLE" \  -e "MINIO_ROOT_PASSWord=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \  quay.io/minio/minio server /data --console-address ":9001"

docker部署纠删码模式

docker run -d -p 9000:9000 -p 9090:9090 --name minio \ -v /mnt/data1:/data1 \ -v /mnt/data2:/data2 \ -v /mnt/data3:/data3 \ -v /mnt/data4:/data4 \ -v /mnt/data5:/data5 \ -v /mnt/data6:/data6 \ -v /mnt/data7:/data7 \ -v /mnt/data8:/data8 \minio/minio server /data{1...8} --console-address ":9090"

缺点:单点故障,直接宕机

分布式部署

    注意事项:

linux部署:启动一个分布式Minio实例,你只需要把硬盘位置作为参数传给minio server命令即可,然后,你需要在所有其他节点运行同样的命令。

分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,这样这些节点才能建立连接。为了实现这个,你需要在执行minioserver命令前,先将access秘钥和secret秘钥expoert成环境变量。新版本使用MINIO_ROOT_USER&MINIO_ROOTPASSWORD。

【举例1】8个节点,每个节点1块盘。启动分布式Minio实例,8个节点,每节点1块盘,需要再8个节点上都运行下面的命令:

export MINIO_ROOT_USER=adminexport MINIO_ROOT_PASSWORD=123456

【举例1.1】下面示例的IP仅供示例参考没需要改成你真实的IP地址和文件夹路径。

minio server Http://192.168.1.11/export1 \http://192.168.1.12/export2 \http://192.168.1.13/export3 \http://192.168.1.14/export4 \http://192.168.1.15/export5 \http://192.168.1.16/export6 \http://192.168.1.17/export7 \http://192.168.1.18/export8 \

【举例2】4个节点,每个节点2块盘。启动分布式Minio实例,4个节点,每节点2块盘,需要再4个节点上都运行下面的命令:

export MINIO_ROOT_USER=adminexport MINIO_ROOT_PASSWORD=123456

【举例2.1】下面示例的IP仅供示例参考没需要改成你真实的IP地址和文件夹路径。

http://192.168.1.11/export1 \http://192.168.1.11/export2 \http://192.168.1.12/export1 \http://192.168.1.12/export2 \http://192.168.1.13/export1 \http://192.168.1.13/export2 \http://192.168.1.14/export1 \http://192.168.1.14/export2 \

统一入口:使用Nginx 统一入口,可以做ip hash策略分散服务器压力。

【例如 :】

upstream minio {    server 192.168.1.11:9001;    server 192.168.1.12:9001;    server 192.168.1.13:9001;    server 192.168.1.14:9001;}​upstream console {    ip_hash;    server 192.168.1.11:5001;    server 192.168.1.12:5002;    server 192.168.1.13:5003;    server 192.168.1.14:5004;}​server {    listen      9000;    listen [::] 9000;    server_name localhost;        localhost / {            proxy_pass http://minio;    }}server {    listen      5000;    listen [::] 5000;    server_name localhost;        localhost / {        proxy_pass http://console;    }}

docker-compose部署,能力有限,留个入口。

使用【客户端】

介绍:MinIO Clinet(mc) 为ls,cat,cp,mirror,diff,find 等UNIX命令提供一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。

windows 部署

ps:注意9001 是接口端口,不是console端口。

下载

wget https://dl.min.io/client/mc/release/linux-amd64/mc 

赋予权限

chmod +x mc./mc --help

查询mc host配置

mc config host ls

添加minio服务

mc config host add minio-server http://81.70.144.153:9001/minioadmin minioadmin

mc命令【管理文件】

# 加入配置文件:mc config host add minio01 http://81.70.144.153:9000 minioadmin minioadmin​# 连接查看minio文件内容:mc ls tuling minio01​# 下载文件mc cp minio01/yeb/数据结构算法面试题.txt D:\​# 上传文件mc cp D:\测试.txt minio01/yeb​# 删除文件mc rm minio01/yeb/测试.txt

mc命令【管理桶(Bucket)】

# 创建bucketmc mb minio01/yeb1​# 删除bucket(有数据删除失败)mc rb minio01/yeb1​# bucket不为空,强制删除,慎用mc rb --force minio01/yeb1​# 查看bucket磁盘使用情况mc du minio01/yeb

mc命令【admin使用】

Minio Client 提供了‘admin’子命令来对minio部署执行管理任务​service 服务器停止并且重启所有Minio服务器udpate 更新所有MInio服务器info 显示minio服务器信息user 管理用户group 管理小组policy minio服务器中定义策略管理cofnig 配置管理minio服务器heal 修复minio服务器上的磁盘、桶、对象profile 生成概要文件数据进行调试top 顶部提供minio统计信息trace 跟踪显示minio服务器的http跟踪console 控制台显示minio服务器的控制台日志prometheus prometheys配置kms kms管理操作

来源地址:https://blog.csdn.net/weixin_53336463/article/details/129450942

--结束END--

本文标题: MinIO介绍使用

本文链接: https://www.lsjlt.com/news/390261.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MinIO介绍使用
    MinIO介绍使用 MinIO 介绍 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。 MinIO 英文官网 MinIO 中文官网 注意:中...
    99+
    2023-09-02
    docker linux java
  • MinIO的介绍以及简单的使用
    什么是MinIO MinIO是在GUN Affero通用公共许可证 v3.0 下发布的高性能对象存储.他与AmazonS3云存储服务API兼容.使用MinIO为机器学习,分析和应用程序数据工作负载构建高性能基础架构. MinIO是一个高...
    99+
    2023-10-26
    java Powered by 金山文档
  • Minio基本介绍及如何搭建Minio集群
    目录一、Minio介绍1.1 Minio简介1.2 部署方式:1.3 Minio官网二、Minio集群2.1 Minio集群原理2.2 术语解释2.3 纠删码2.4 Minio集群搭...
    99+
    2024-04-02
  • Docker安装MinIO详细步骤介绍
    目录一、查看docker环境是否正常二、下载minIO的镜像三、创建minIO容器四、访问地址五、安装遇到问题1、问题一2、问题二3、问题三一、查看docker环境是否正常 在命令行...
    99+
    2024-04-02
  • ZookeeperZkClient使用介绍
    目录前言1、创建会话2、创建节点3、删除节点4、获取子节点5、获取数据(节点是否存在、更新、删除)前言 接下来,还是从创建会话、创建节点、读取数据、更新数据、删除节点等方面来介绍如何...
    99+
    2024-04-02
  • GoLangchannel使用介绍
    目录停止信号任务定时解耦生产方和消费方控制并发数停止信号 channel 用于停止信号的场景还是挺多的,经常是关闭某个 channel 或者向 channel 发送一个元素,使得接收...
    99+
    2024-04-02
  • SpringBeanDefinition使用介绍
    目录1. 前言2. BeanDefinition2.1 AttributeAccessor2.2 BeanMetadataElement2.3 BeanDefinition2.4 A...
    99+
    2023-01-04
    Spring BeanDefinition作用 Spring BeanDefinition
  • JS.findElementById()使用介绍
    复制代码 代码如下: his.findElementById = function (identifier, frame) { if (!frame) { frame = windo...
    99+
    2022-11-15
    findElementById
  • puppet介绍、使用
    Puppet是一个自动化配置管理工具,可以帮助管理和部署大规模的计算机系统和网络设备。它允许用户通过定义所需的系统状态和配置,然后自...
    99+
    2023-09-23
    puppet
  • PreferenceActivity使用介绍
    PreferenceActivity是Android中的一个界面组件,用于展示和编辑应用程序的设置选项。它继承自Activity,并...
    99+
    2023-09-14
    使用
  • Minio使用
    MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。 MinIO...
    99+
    2023-08-17
    java 数据库 redis
  • VuePostCSS的使用介绍
    目录PostCSS使用安装依赖运行使用第三方插件autoprefixer使用第三方插件postcss-preset-env使用第三方插件postcss-pxtorem运行的新方式Po...
    99+
    2023-02-06
    Vue PostCSS Vue PostCSS的使用
  • jQuery cdn使用介绍
    jQuery是一个快速、小巧、功能丰富的JavaScript库。使用jQuery可以简化HTML文档的遍历、事件处理、动画等操作。j...
    99+
    2023-08-17
    jQuery
  • Zookeeper Curator使用介绍
    目录1、添加依赖2、创建会话3、创建节点4、删除节点5、获取数据6、更新数据从编码风格上来讲,curator提供了基于Fluent的编程风格支持 1、添加依赖 在pom.xml文件中...
    99+
    2024-04-02
  • fastjson2 介绍及使用
    目录 前言一、导入fastjson2依赖二、json对象与json数组的创建json对象创建json数组创建 三、json对象取值与json数组遍历取值json对象取值json数组遍历取值 四、json对象与字符串的转换js...
    99+
    2023-08-18
    java fastjson2 fastjson fastJson
  • Apache介绍及使用
    Apache的介绍 Apache全称:Apache HTTPD Server ;是Apache基金会的一个开源网页服务器,可以在大多数计算机操作系统中运行。Apache提供的服务器又称为:补丁服务器 ...
    99+
    2023-09-17
    apache php 服务器
  • ehcache 3.* 使用介绍
    官网地址:http://×××w.ehcache.org/documentation/3.6/getting-started.html    根据官网的说明使用起来非常简单,尤其是在3.0之后, 不管事xml配置文件还是链式编码配置。先看示...
    99+
    2023-01-31
    ehcache
  • Android WorkManager使用介绍
    一、引言   WorkManager 是google提供的异步执行任务的管理框架,是 Android Jetpack 的一部分,会根据手机的API版本和应用程序的状态来选择适当的方式执行任务。   在...
    99+
    2023-09-07
    android
  • Android ViewBinding使用介绍
    目录一、kotlin-android-extensions二、ViewBinding使用1.gradle配置2.在Activity 使用3.在Fragment使用4.在Adapter...
    99+
    2024-04-02
  • SVN介绍和使用
    文章目录 SVN的介绍SVN是什么作用 安装包下载SVN的使用检出提交显示日志更新 patch的使用创建使用 SVN的介绍 SVN是什么 SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分...
    99+
    2023-08-19
    svn
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作