Java基础之《minio(1)—对象存储》

一、什么是对象存储

1、An object是二进制数据,有时也称为Binary大对象(BLOB)。blob可以是图像、音频文件、电子表格,甚至二进制可执行代码。
2、minio这样的对象存储平台提供了专用的用于存储、检索和搜索blob的工具和功能。
3、minio对象存储使用buckets来组织对象。存储桶类似于文件系统中的文件夹或目录,其中每个桶可以容纳任意数量的对象。
4、minio存储桶提供与AWS S3存储桶相同的功能。

二、minio单机部署

1、minio AGPL v3协议是可以免费使用的。

2、编辑sysctl.conf

vi /etc/sysctl.conf
net.ipv4.ip_forward=1

sysctl -p

3、单机部署

mkdir -p /appserver/minio
cd /appserver/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=12345678 ./minio server /appserver/minio/data --address ":9998" --console-address ":9999"

默认端口为9000和9001,如果已占用,需要指定其他端口

WARNING: Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
MinIO Object Storage Server
Copyright: 2015-2023 MinIO, Inc.
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Version: RELEASE.2023-03-22T06-36-24Z (go1.19.7 linux/amd64)

Status:         1 Online, 0 Offline. 
API: http://192.168.3.203:9998  http://127.0.0.1:9998             
RootUser: admin 
RootPass: 12345678 
Console: http://192.168.3.203:9999 http://127.0.0.1:9999       
RootUser: admin 
RootPass: 12345678 

Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set myminio http://192.168.3.203:9998 admin 12345678

Documentation: https://min.io/docs/minio/linux/index.html
Warning: The standard parity is set to 0. This can lead to data loss.

4、单机后台启动

vi minio_run.sh

#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
nohup ./minio server /appserver/minio/data --address ":9998" --console-address ":9999" 2>&1 &

chmod +x minio_run.sh

三、纠删码模式部署

1、minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。
类似于服务器做了raid冗余,可以在一台服务器上挂载4到16个盘,使用纠错码模式。

2、挂载4个磁盘
/appserver/minio/data1
/appserver/minio/data2
/appserver/minio/data3
/appserver/minio/data4

3、纠错码模式启动

vi minio_run_ec.sh

#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
nohup ./minio server /appserver/minio/data1 /appserver/minio/data2 /appserver/minio/data3 /appserver/minio/data4 --address ":9998" --console-address ":9999" 2>&1 &

chmod +x minio_run_ec.sh

四、分布式集群部署

1、分布式minio优势
(1)数据保护
分布式minio采用纠删码来防范多个节点宕机和位衰减bit rot。
分布式minio至少需要4个硬盘,使用分布式minio自动引入了纠删码功能。
(2)高可用
单机minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/1+2个硬盘来创建新的对象。
例如,一个16节点的minio集群,每个节点16块硬盘,就算8台服务器宕机,这个集群仍然是可读的,不过你需要9台服务器才能写数据。
(3)一致性
minio在分布式和单机模式下,所有读写操作都严格遵守 read-after-write 一致性模型。

2、启动一个分布式minio实例,你只需要把硬盘位置做为参数传给minio server命令即可,然后,你需要在所有其它节点运行同样的命令。
hosts:
192.168.100.1 node1
192.168.100.2 node2
192.168.100.3 node3
192.168.100.4 node4

3、执行脚本

minio_run_clust.sh

#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
nohup ./minio server http://node{1...4}/appserver/minio/data --address ":9998" --console-address ":9999" 2>&1 &

注意:此时的/appserver/minio/data必须是挂载的另一块磁盘。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Minio分布式对象存储具有可推广性的优点。它的学习成本低,安装和运维简单,开箱即用。目前Minio论坛推广力度大,有问必答,并且提供了Java客户端和JS客户端。在数据保护方面,分布式Minio采用纠删码来防范多个节点宕机和位衰减bit rot。分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。在一致性方面,Minio在分布式和单机模式下,所有读写操作都严格遵守read-after-write一致性模型。此外,Minio还支持联盟模式扩展集群。因此,Minio分布式对象存储具有良好的可推广性。\[1\]\[2\] #### 引用[.reference_title] - *1* [minio集群搭建以及与其他分布式存储系统对比](https://blog.csdn.net/liushuiziyouliu/article/details/106938160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [盘点分布式文件存储系统____分布式文件存储系统简介](https://blog.csdn.net/qq_43842093/article/details/121867125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值