侧边栏壁纸
  • 累计撰写 93 篇文章
  • 累计创建 85 个标签
  • 累计收到 9 条评论

minio安装和基本使用

bearjun
2021-08-09 / 1 评论 / 0 点赞 / 1,239 阅读 / 3,258 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-08-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

minio是什么

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

中文官网:http://www.minio.org.cn/
中文文档地址:http://docs.minio.org.cn/docs/
码云地址:https://gitee.com/mirrors/minio
github地址:https://github.com/minio/minio

minio与fastDFS比较

\miniofastDFS
应用场景更适合海量的大文件,当然MinIO的性也非常强劲适合小文件存储的场景,比如图片、JS文件等
安装部署(运维)复杂度简单方便部署复杂
文档文档全面,中英文支持友好暂无官方文档,全是网友自己总结
活跃度开源项目,社区论坛的活跃度目前也非常的不错个人项目,没有官网,不活跃
UI界面界面不需要你单独的部署,和服务端一并安装。开箱即用不带UI界面
性能号称是世界上速度最快的对象存储服务器\
容器化支持k8s、etcd、docker等容器化技术深度集成方案不具备
丰富的SDK支持几乎提供了所有主流开发语言的SDK以及文档C 和 Java SDK ,以及 PHP 扩展 SDK
AWS S3标准兼容第一个采用API和第一个添加对S3 Select支持的标准之一\

以上总结自:http://slack.minio.org.cn/question/23
从上述可知,minio确实更出色一些,但是技术没有好坏之分,只有适合和不适合,只有适合自己的才是最好的。

minio的安装

无纠删码模式安装

docker安装

上面也说了,minio支持丰富的容器化技术,可以使用k8s或者docker进行安装。
官网教程:http://docs.minio.org.cn/docs/。这来不建议使用中文的文档,因为更新不及时,所有会有很多问题。
英文官方文档:https://docs.min.io/docs/minio-docker-quickstart-guide.html。

# 拉取镜像
docker pull minio

# 启动minio
docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio \
  -v /mnt/data:/data \
  -v /mnt/config:root/.minio \
  -e "MINIO_ROOT_USER=用户名" \
  -e "MINIO_ROOT_PASSWORD=密码" \
  minio/minio server /data --console-address ":9001"
  • -p对外暴露端口
  • --name 取别名
  • -v 将数据和配置挂载到磁盘上
  • -e 设置用户名密码(可以省略)可以通过后面的配置设置

如果不是很熟,请点击:docker初级篇 - docker基本命令使用。是不是很简单呢?

linux安装

那我们接下来就来看看单机版的linux安装:

# 1、拉取minio程序到服务器
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio

# 2、授权
chmod +x minio

#3、简单的启动
./minio server /data  

最后在浏览器输入:ip:port就可以看到登陆页面了,初始化的用户名密码都是minioadmin

纠删码模式安装

Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。

纠删码是一种恢复丢失和损坏数据的数学算法, Minio采用Reed-Solomon code将对象拆分成N/2数据和N/2 奇偶校验块。 这就意味着如果是12块盘,一个对象会被分成6个数据块、6个奇偶校验块,你可以丢失任意6块盘(不管其是存放的数据块还是奇偶校验块),你仍可以从剩下的盘中的数据进行恢复,是不是很NB,感兴趣的同学请翻墙google。

31988-loig9r4rsyr.png
相关地址:https://docs.min.io/docs/minio-erasure-code-quickstart-guide.html

docker安装

# 拉取镜像
docker pull minio

docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  --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 ":9001"

带纠删码的安装就是多挂载了几片磁盘。启动和不带的大同小异。

linux安装

# 1、拉取minio程序到服务器
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio

# 2、授权
chmod +x minio

#3、简单的启动
./minio server /data{1...8}  

minio集群搭建

官方地址:https://docs.min.io/docs/distributed-minio-quickstart-guide.html
中文地址:http://docs.minio.org.cn/docs/master/distributed-minio-quickstart-guide
注意:英文好的同学,还是建议看英文文档哦。

minio的安装注意事项

  • warning提示需要修改用户名和密码
# 新版本
export MINIO_ROOT_USER=用户名
export MINIO_ROOT_PASSWORD=密码
# 老版本
export MINIO_ACCESS_KEY=用户名
export MINIO_SECRET_KEY=密码
  • 数据存放问题

数据默认存放在哪我也不知道,所以要修改默认存放的位置,方便管理

mkdir /data/minio/data
  • 永久启动的问题和关闭
# 查看minio所在的进程
ps -ef|grep minio

# 杀掉minio进程
kill -9  进程号

#后台启动
nohup /usr/local/bearjun/minio server --address 192.168.0.37:9002 --console-address 192.168.0.37:9001 /data/minio/data/ > /data/minio/minio.log 2>&1 &

/usr/local/bearjun/minio minio所在的路径
--address 192.168.0.37:9002 minio访问的路径和端口
--console-address 192.168.0.37:9001 minio API访问的路径和端口
/data/minio/data/ minio数据存放的位置

使用JAVA API连接minio

关于java使用minio,官网已经写的很清楚了。
~~ 地址:http://docs.minio.org.cn/docs/master/java-client-api-reference ~~
地址:https://docs.min.io/docs/java-client-api-reference.html

小弟我也是第一次接触minio,如有纰漏,欢迎指出,后期看看能不能再更新下用法。

0

评论区