新版MinIO安装,附带问题处理和SSL设置(巨详细)

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。

下面开始:

前往官网下载需要的二进制文件

wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio

不清楚系统是amd64、arm64、ppc64le、s390x中的一个可以使用:

uname -m

返回值举例:x86_64,则说明系统为amd64。

[bash: wget: command not found]: 表示系统中没有安装 wget 命令。Debian/Ubuntu 的系统:sudo apt-get update, sudo apt-get install wget;Red Hat/CentOS 的系统:sudo yum install wget;Arch Linux 的系统:sudo pacman -S wget。

为下载的minio文件赋予权限:

chmod +x /usr/local/bin/minio

创建一个存放数据的文件夹(注意,我这里没有且文件夹,所以这个data是创建在了root下面,你们可以根据需求自己调整):

mkdir data

运行minio(在本地主机的端口号9001上启动MinIO服务器,并将数据存储在data目录中):

 cd /usr/local/bin/minio
./minio server /data --console-address ":9001"

将会看到类似下面的输出:

Formatting 1st pool, 1 set(s), 1 drives per set.
WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-06-29T01-20-47Z (go1.22.4 linux/amd64)API: http://你的ip:9000  http://127.0.0.1:9000 RootUser: minioadmin RootPass: minioadmin WebUI: http://你的ip:9001 http://127.0.0.1:9001   RootUser: minioadmin RootPass: minioadmin CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart$ mc alias set 'myminio' 'http://你的ip:9000' 'minioadmin' 'minioadmin'Docs: https://min.io/docs/minio/linux/index.html
Status:         1 Online, 0 Offline. 
STARTUP WARNINGS:
- 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
- Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
- The standard parity is set to 0. This can lead to data loss.

判断一下是否可以打开控制台(注意防火墙设置):

curl -I http://你的ip:9001

可以看到返回值第一行是:HTTP/1.1 200 OK ,则说明连接成功。

但这种只是一个简陋的安装过程,实际上我们可能要用systemd 服务单元文件来管理 MinIO 服务。

接着往下走,在目前文件夹中创建一个minio.service文件:

vi minio.service

写入内容:

[Unit]
Description=MinIO
Documentation=https://docs.minio.io/
After=network-online.target[Service]
WorkingDirectory=/path/to/data
User=root
ProtectSystem=full
ProtectHome=true
#注意--address :9000这里的空格
ExecStart=/path/to/minio server --address :9000 --console-address 0.0.0.0:38555 /path/to/data
TimeoutStopSec=600
Restart=always
LimitNOFILE=4096
LimitNPROC=8192
Environment="MINIO_ACCESS_KEY=your_root_username"
Environment="MINIO_SECRET_KEY=your_root_password"[Install]
WantedBy=multi-user.target

在上面的内容中,将/path/to/minio替换为MinIO二进制文件的实际路径(本文中为/usr/local/bin/minio),将/path/to/data替换为希望存储数据的目录路径(本文中为 /data)。另外,将your_root_usernameyour_root_password替换为你的MinIO根用户的用户名和密码。

保存该文件,并将文件复制到/etc/systemd/system目录:

sudo cp minio.service /etc/systemd/system/minio.service

为之前创建的文件赋权:

sudo chown -R root:root /usr/local/bin/minio
sudo chmod -R 755 /usr/local/bin
sudo chown -R root:root /data
sudo chmod -R 755 /data

重新加载配置:

sudo systemctl daemon-reload

使用下面的命令管理minio服务:

# 启动MinIO服务
sudo systemctl start minio.service# 查看MinIo服务状态
sudo systemctl status minio.service# 停止MinIO服务
sudo systemctl stop minio.service# 重启MinIO服务(如果已启动)
sudo systemctl restart minio.service# 设置开机启动
sudo systemctl enable minio# 验证开机启动(输出为 enabled)
sudo systemctl is-enabled minio

设置SSL证书(自 2018 年 6 月 30 日起, SSL 已经被MinIO完全弃用,所以我们只能搞点小动作将TLS改为SSL):

# 可以看到minio默认的隐藏文件夹 .minio
ls -a
#将SSL证书改为:private.key 和 public.crt 放到这里即可
cd .minio/certs/

或者在配置文件指定文件夹(指定的文件夹必须实现创建,且有对应权限):

ExecStart=/path/to/minio server --address :9000 --certs-dir /etc/minio/certs --console-address 0.0.0.0:38555 /path/to/data

遇到问题?

sudo systemctl start minio.service 命令报错:Assertion failed on job for minio.service.

解决方案:1、检查各个文件权限(特别是配置文件)是否赋予。2、检查 /etc/systemd/system/minio.service 配置文件内容是否出错。

检查无误后仍然出错?

运行 以下代码查看日志:

sudo journalctl -u minio.service -b

将会看到类似这样报错信息(问题不一样,打印出的日志也会不一样。切勿硬套!!!)

Jul 01 10:12:23 app systemd[41619]: Failed at step CHDIR spawning /home/minio: No such file or directory
Jul 01 10:12:23 app systemd[1]: minio.service: main process exited, code=exited, status=200/CHDIR
Jul 01 10:12:23 app systemd[1]: Unit minio.service entered failed state.
Jul 01 10:12:23 app systemd[1]: minio.service failed.
Jul 01 10:12:29 app systemd[1]: minio.service holdoff time over, scheduling restart.
Jul 01 10:12:29 app systemd[1]: Stopped MinIO.
Jul 01 10:12:29 app systemd[1]: Started MinIO.
Jul 01 10:12:29 app systemd[41626]: Failed at step CHDIR spawning /home/minio: No such file or directory
Jul 01 10:12:29 app systemd[1]: minio.service: main process exited, code=exited, status=200/CHDIR

可以看出我的问题是:Failed at step CHDIR spawning /home/minio: No such file or directory。

以上都没解决问题?

尝试手动启动

#注意路径换成自己的
sudo /path/to/minio server --address :9000 --console-address 0.0.0.0:38555 /path/to/data

如果手动启动可以正常启动,通过systemd 启动失败,则问题可能出在 systemd 服务单元配置上。

如果一切都检查了,什么都没问题。请运行

sudo journalctl -xe -u minio.service

会看到更加详细的日志报告

-- The error number returned by this process is 2.
Jul 01 11:21:11 app systemd[1]: minio.service: main process exited, code=exited, status=200/CHDIR
Jul 01 11:21:11 app systemd[1]: Unit minio.service entered failed state.
Jul 01 11:21:11 app systemd[1]: minio.service failed.
Jul 01 11:21:11 app systemd[1]: minio.service holdoff time over, scheduling restart.
Jul 01 11:21:11 app systemd[1]: Stopped MinIO.
-- Subject: Unit minio.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit minio.service has finished shutting down.
Jul 01 11:21:11 app systemd[1]: Started MinIO.
-- Subject: Unit minio.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit minio.service has finished starting up.
-- 
-- The start-up result is done.
Jul 01 11:21:11 app systemd[45855]: Failed at step CHDIR spawning /home/minio/minio: No such file or directory
-- Subject: Process /home/minio/minio could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The process /home/minio/minio could not be executed and failed.
-- 
-- The error number returned by this process is 2.
Jul 01 11:21:11 app systemd[1]: minio.service: main process exited, code=exited, status=200/CHDIR
Jul 01 11:21:11 app systemd[1]: Unit minio.service entered failed state.
Jul 01 11:21:11 app systemd[1]: minio.service failed.
Jul 01 11:21:11 app systemd[1]: minio.service holdoff time over, scheduling restart.
Jul 01 11:21:11 app systemd[1]: Stopped MinIO.
-- Subject: Unit minio.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit minio.service has finished shutting down.
Jul 01 11:21:11 app systemd[1]: start request repeated too quickly for minio.service
Jul 01 11:21:11 app systemd[1]: Failed to start MinIO.
-- Subject: Unit minio.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit minio.service has failed.
-- 
-- The result is failed.
Jul 01 11:21:11 app systemd[1]: Unit minio.service entered failed state.
Jul 01 11:21:11 app systemd[1]: minio.service failed.

看以看到失败原因:The process /home/minio/minio could not be executed and failed.

还有问题?

重装吧,重装可以解决99%的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element ui中的scss语法理解

摘录至 导读 首先来看一个bem命名示例 .el-message-box{} .el-message-box__header{} .el-message-box__header--active{}如果使用已经封装好的bem方法的话,那么可以写成 include b(message-box) {include e(header) {include m(active);} }接下来我们来看一下b…

【FPGA】Verilog:全减器与半减器 | Full Subtractor | Half Subtractor

0x00 全减器(Full Subtractor) 减法器是用于减法运算的逻辑电路,与不包含借位的半减法器不同。 全减法器因为包含借位的产生与否,所以具备完整的减法功能。 输出由差 和借位 组成:

JUC基础学习

1.Java JUC简介 2.volatile关键字-内存可见性 3.原子变量-CAS算法 4.ConcurrentHashMap锁分段机制

什么是滴答定时器?

滴答定时器(Tick Timer)是一种关键的硬件组件,用于生成固定时间间隔的信号。这些信号通常称为“滴答”(tick),是操作系统和应用程序的时间管理基础。滴答定时器的应用范围广泛,从简单的定时任务…

Java中的数据加密与安全传输

Java中的数据加密与安全传输 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨一下在Java中如何实现数据加密与安全传输。 随着互联网的普及和网络…

C++学习/复习18----迭代器/反向迭代器及在list/vector中的应用、list与vector模拟实现复习

迭代器是一个对象,可以循环访问 C 标准库容器中的元素,并提供对各个元素的访问。 C 标准库容器全都提供迭代器,以便算法可以采用标准方式访问其元素,而不必考虑用于存储元素的容器类型。 一、反向迭代器类 基于普通迭代器构建反…

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用如何实现将logseq的笔记发布成网站使用 logseq-publish-docker 实现手动发布使用gitlab的CI/CD实现自动发布过程中的问题及解决参考资料 使用gitlab的CI/CD实现logseq笔记…

[AIGC] 常用的OLAP数据库:为数据分析提供强大的支持

导语:在大数据时代,数据分析成为了企业决策的重要依据。为了高效地处理和分析海量的数据,OLAP数据库应运而生。本文将介绍几种常用的OLAP数据库,为数据分析提供强大的支持。 一、Snowflake Snowflake是一种云原生的OLAP数据库&a…

win10和mac之间如何共享文件夹

我用的mac版本是 macOS Ventura ,其他版本的操作可能略有不同 在 macOS Ventura 上设置共享文件夹 打开“系统设置”:点击屏幕左上角的苹果菜单 () > 系统设置。选择“通用”:在左侧边栏中找到并点击“通用”。选择“共享”&#xff1…

第二届重庆国际渔业博览会

The 2th Chongqing International Fisheries & Seafood Expo 时间:2024年10月25-27日 地点:重庆国际博览中心 同期举办:第十六届中国(重庆)火锅美食文化节暨第九届中国(重庆)国际火锅产业博览会 展会规模: 展出…

利用Java的`java.util.concurrent`包优化多线程性能

利用Java的java.util.concurrent包优化多线程性能 一、引言 在Java的多线程编程中,性能优化是一个永恒的话题。随着多核CPU的普及和计算任务的日益复杂,多线程编程已经成为提高应用程序性能的重要手段。然而,多线程编程也带来了一系列的问题…

(论文版)深度学习 | 基于 VGG16-UNet 语义分割模型的猫狗图像提取研究

Hi,大家好,我是半亩花海。本实验本项目基于 VGG16-UNet 架构,利用 Labelme 标注数据和迁移学习,构建高效准确的猫狗图像分割模型。通过编码器-解码器结构(特征提取-上采样)提升分割精度,适应不同…

VBA数据库解决方案第十二讲:如何判断数据库中数据表是否存在

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

第11章 规划过程组(11.6规划进度管理)

第11章 规划过程组(二)11.6规划进度管理,在第三版教材第385页;#软考中级##中级系统集成项目管理师# 文字图片音频方式 第一个知识点:主要输出 1、进度管理计划 准确度 定义活动持续时间估算的可接受区间&#xff0…

第二周:计算机网络概述(下)

一、计算机网络性能指标(速率、带宽、延迟) 1、速率 2、带宽 3、延迟/时延 前面讲分组交换的时候介绍了,有一种延迟叫“传输延迟”,即发送一个报文,从第一个分组的发送,到最后一个分组的发送完成的这段时…

机器学习算法 —— 决策树

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 目录 背景描述数据说明数据来源决策树的介绍和应用决策树的介绍决策树的优点决策树的缺点决策树的应用实战演示导入模块训练模型数据和模型可视化(需要用到graphviz可视化库)模型预测基于pengui…

[Spring Boot]Rest服务调用远程Post请求

文章目录 pomconfig类业务类-Post方法调用 pom <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version> </dependency> <dependency><groupId>…

医疗AI革命,为何多模态大模型难以突破?

在人工智能的浪潮中&#xff0c;多模态大模型以其强大的数据处理能力和深度学习算法&#xff0c;被寄予厚望于医疗影像分析、辅助诊断等领域。然而&#xff0c;现实情况却远非如此乐观。本文将带您深入了解多模态大模型在医疗辅助诊断领域的潜力与局限&#xff0c;揭示其面临的…

ue5导航网格设置

AI使用导航网格进行移动&#xff0c;所以&#xff0c;先设置导航网格边界体积 2&#xff0c;使导航网格边界体积覆盖AI所需要的场景&#xff08;绿色区域&#xff09;&#xff0c;x,y&#xff0c;z在这里都扩大到原来的10倍 3&#xff0c;打开actor的“启用tick并开始” 4&…

PHP和phpSpider:如何应对网站反爬虫的JS挑战?

php和phpspider&#xff1a;如何应对网站反爬虫的js挑战&#xff1f; 随着互联网技术的发展&#xff0c;网站对于爬虫脚本的防御也越来越强大。网站常常通过使用Javascript技术来进行反爬虫&#xff0c;因为Javascript可以动态生成页面内容&#xff0c;使得简单的爬虫脚本很难…