MinIO安装配置

单节点

安装包下载

server安装包:http://dltest.minio.org.cn/server/minio/release/linux-arm64/
在这里插入图片描述
client安装包:https://dl.minio.org.cn/client/mc/release/linux-arm64/
在这里插入图片描述

安装

创建minio工作目录,之前下载的安装包放在这里
mkdir -p /data1/platform/minio
把之前下载的安装包复制进来,或者直接上传到这个目录
cp -p mc.RELEASE.2024-04-18T16-45-29Z minio.RELEASE.2024-04-18T19-09-19Z /data1/platform/minio
进入该目录
cd /data1/platform/minio
创建/usr/local/bin/mc、/usr/local/bin/minio链接到这个目录下的文件
ln -s mc.RELEASE.2024-04-18T16-45-29Z /usr/local/bin/mc
ln -s minio.RELEASE.2024-04-18T19-09-19Z /usr/local/bin/minio

创建启动脚本

cd /data1/platform/minio
vim run.sh
输入以下内容

#!/bin/bash
# 用户名
export MINIO_ACCESS_KEY=minio
# 密码
export MINIO_SECRET_KEY=minio123
# 启动指令
## --address 代表 s3 api 接口
## --console-address 代表网页访问控制台接口
## 最后四行为四台机器分别对应的地址及盘,这样的写法有利于之后进行扩展
## node1是集群的节点,可以在etc/hosts中配置,或者直接写成[本机ip]:2334,如10.12.48.2:2334
## 单节点的时候用路径data1/miniodata,下面是单节点单硬盘配置
## 多节点参考http://node1/data{1...2}/miniodata
/usr/local/bin/minio server --address=node1:2334 --console-address=node1:2333 --config-dir /etc/minio \
data1/miniodata

添加可执行权限
chmod +x run.sh

创建 minio server 的服务文件

vim /usr/lib/systemd/system/minio.service
内容如下,注意工作目录和启动的脚本为真实路径

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
# MinIO 路径
WorkingDirectory=/data1/platform/minio
# 启动命令路径
ExecStart=/data1/platform/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

minio.service 文件创建完成之后,执行 systemctl daemon-reload, 然后启动和 enable 服务:systemctl enable -now minio

这里可能在有的操作系统中无法用now来同时enable和启动,所以分开输入如下命令
systemctl enable minio
systemctl start minio

之后输入netstat -tuln来查看2333、2334两个端口是否正常开启监听。
在这里插入图片描述
如果没有可以使用systemctl status minio来查看启动情况,使用systemctl stop minio来停止进程。
遇到端口未监听,参看status又无法理解的情况可以直接使用sh run.sh的命令来运行脚本,会又报错提示。
文章最后由一些可能的报错解决办法。

minio客户端mc的使用

接口文档:https://min.io/docs/minio/linux/reference/minio-mc.html
mc 使用时涉及输入用户名密码, s3 api 地址等内容,最好先设置一个别名,然后通过别名进
行操作。
mc alias ls # 查看已有别名
mc admin info <alias_name> #显示别名对应的服务信息
示例如下,在进行后面的添加别名操作前你还看不到superminio的信息
在这里插入图片描述

创建别名

alias 为想使用的别名,s3-api-address 为 s3 api 接口地址,access_key 为用户,secret_key 为密码
mc alias set $alias $s3-api-address $access_key $secret_key
其中 s3-api-address, access_key, secret_key 都是前面在 run.sh 中定义的内容。
示例如下:
mc alias set superminio http://singlenode:2334 minio minio123

查看桶和文件

查看别名对应服务下的桶: mc ls superminio # superminio 是别名的名字
查看桶里面的文件: mc ls <alias_name>/<bucket_name> # mc ls 是以别名开头的路径

WebUI

访问[ip]:2333(示例:10.12.48.2:2333)即可。也可以使用systemctl status minio来查看API和WebUI入口。

踩坑

无config-dir参数

在这里插入图片描述
从pdf复制/usr/local/bin/minio server --address=node1:2334 --console-address=node1:2333 --config-dir /etc/minio data1/miniodata这个命令的时候 /etc/minio 另起了一行,导致本来是空格的变成了\n换行,所以没读到–config-dir后的参数。

/etc/minio不是一个目录

在这里插入图片描述
上一个问题报错的原因当时没意识到,又因为换行了导致系统以为是另一个命令,所以报了一个找不到/etc/minio的错误,就以为是需要新建文件/etc/minio,所以直接建了一个。删掉就可以了。

Text file busy

基于这个新建了文件的错误,之前还有另一个奇怪的错误run.sh:行12: /etc/minio: Text file busy。新建文件之后运行sh脚本时告诉我文件被占用,使用lsof /etc/minio查看告诉我是sftp-serv占用的。查资料得知:

sftp-serv 进程通常是与 SFTP(Secure File Transfer Protocol)服务相关联的进程。SFTP 是一种安全的文件传输协议,用于在网络上安全地传输文件。sftp-serv 进程通常是 OpenSSH(Open Secure Shell)服务器中负责处理 SFTP 连接的组件之一。

直接关闭当前ssh窗口,重新登入服务器,Text file busy就能解决。当然,如果不是没注意命令换行就不会到这一步。

单节点部署时命令的问题

在这里插入图片描述
我在sh脚本里使用了http://node1/data1/miniodata,它告诉我单节点用绝对路径就可以了。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值