MiNIO介绍使用 Minio 介绍 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,python,Javacript, golang语言。 MinIO 英文官网 MinIO 中文官网 注意:中
MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,python,Javacript, golang语言。
MinIO 英文官网 MinIO 中文官网 注意:中文官方更新不及时,会有很多坑,请以英文官网为准。
互联网海量非结构化数据的存储需求
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.)
数据保护
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 一致性模型
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部署,能力有限,留个入口。
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文档到电脑,方便收藏和打印~
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0