当前位置: 首页 > news >正文

2024广东省职业技能大赛云计算赛项实战——Minio服务搭建

Minio服务搭建

前言

这道题是比赛时考到的,没找到具体题目,但在公布的样题中找到了,虽然很短~
使用提供的 OpenStack 云平台,申请一台云主机,使用提供的软件包安装部署 MINIO 服务并使用 systemctl 管理

Minio是一个开源的对象存储服务器,基于云存储服务的API(如Amazon S3),提供了类似S3的功能和接口,但可以在自己的服务器或私有云中部署和管理,从个人项目到企业级应用都可以使用它来构建可靠和可扩展的存储解决方案。

虚拟机使用的是自行创建的CentOS7,如果你不会,那虚拟机创建的流程可以参考我这篇文章:职业技能大赛云计算赛项实战——OpenStack搭建-CSDN博客
使用镜像为CentOS-7-x86_64-DVD-2009.iso,可从阿里镜像站下载:https://mirrors.aliyun.com/centos/7/isos/x86_64/
需要用到的Minio软件压缩包:https://pan.baidu.com/s/1GoeNYFwAkTnvfL9s9wGLRA?pwd=u1gy
提取码:u1gy

操作过程

上传软件包

将我提供的软件包上传至主目录内
在这里插入图片描述

安装minio

#解压软件包
[root@localhost ~]# tar -zxf minio.tar.gz
#解压后主目录会多一个mc和minio目录(mc是minio的命令行工具,而那个图片我也不知道为什么他们要放进来)
[root@localhost ~]# ls
anaconda-ks.cfg  car.jpg  mc  minio  minio.tar.gz
#给文件授权,确保其可执行
[root@localhost ~]# chmod +x minio mc
#设置/mnt/data为工作目录,--console-address为指定端口
[root@localhost ~]# ./minio server /mnt/data --console-address ":9001" &
API: http://192.168.100.11:9000  http://127.0.0.1:9000     
#9000是minion默认的http端口,我们可以通过总共端口访问Minio的Web界面
RootUser: minioadmin 
RootPass: minioadmin 
#默认用户和密码
Finished loading IAM sub-system (took 0.0s of 0.0s to load data).Console: http://192.168.100.11:9001 http://127.0.0.1:9001   
#9001则是其管理端口,用于执行管理操作,例如创建、删除和配置存储桶等
RootUser: minioadmin 
RootPass: minioadmin 
#默认用户和密码
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide$ mc alias set myminio http://192.168.100.11:9000 minioadmin minioadmin
#这里它告诉我们可以设置别名
#这样可以快速连接服务器,方便后续命令操作
Documentation: https://docs.min.io
#我们照做,设置别名
[root@localhost ~]# ./mc alias set myminio http://192.168.100.11:9000 minioadmin minioadmin
...

使用systemctl管理服务

#题目需要我们使用systemctl管理minion服务
#我们先添加自定义服务文件
[root@localhost ~]# vi /etc/systemd/system/minio.service 
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
User=root
Environment="MINIO_ACCESS_KEY=minioadmin"
Environment="MINIO_SECRET_KEY=minioadmin"
ExecStart=/root/minio server /mnt/data  
WorkingDirectory=/root  
Restart=always  
[Install]
WantedBy=multi-user.targe
#Description:说明
#After:在何服务后启动该服务
#User:指定服务运行的用户
#Environment:指定minio服务的用户和密码
#ExecStart:指定运行的命令
#WorkingDirectory:服务运行的工作目录
#Restart:设置服务异常终止时自动重启
#WantedBy:设置服务自启
#重新加载systemd配置
[root@localhost ~]# systemctl daemon-reload
#后台还有刚刚部署的minio进程,会占用端口,使用pgrep命令查看它的进程ID
[root@localhost ~]# pgrep minio
1770
#OK,把它嘎掉,否则我们无法重启服务
[root@localhost ~]# kill 1770
#此时我们就可以用systemctl来管理minion服务了
[root@localhost ~]# systemctl restart minio         [root@localhost ~]# systemctl enable minio 
...
[root@localhost ~]# systemctl status minio
● minio.service - MinIO Object StorageLoaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)Active: active (running) since 一 2024-06-17 08:11:11 CST; 38s agoMain PID: 1940 (minio)CGroup: /system.slice/minio.service└─1940 /root/minio server /mnt/data
...

测试服务

我们在浏览器中输入http://[本机IP]:9000登录web界面,输入minioadmin账号和minioadmin密码进入console界面

我们可以通过带年纪右上角的"Create Bucket"按钮创建桶

在这里插入图片描述

创建好桶后,右上角的”Upload“按钮可以上传文件
在这里插入图片描述

我们回到虚拟机内,查看我们设置的工作目录/mnt/data

#可以看到上传的文件会存放在这里
[root@localhost ~]# ls /mnt/data/test/
minio.tar.gz
#在虚拟机里我们也可以使用mc命令行工具来使用minio服务
#myminio是我们刚开始设置的别名
[root@localhost ~]# ./mc ls myminio
[2024-06-17 08:18:22 CST]     0B test/
#我们创建一个新的存储桶
[root@localhost ~]# ./mc mb myminio/test2
Bucket created successfully `myminio/test2`.
#把解压软件多出来的car.jpg图片上传至新创建的桶
[root@localhost ~]# ./mc cp /root/car.jpg myminio/test2
...t/car.jpg:  1.55 MiB / 1.55 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 71.80 MiB/s 0s
[root@localhost ~]# ls /mnt/data/test2/
car.jpg

后语

我们还可以通过cp命令下载文件、rm命令删除文件以及rb命令删除存储桶,这些就各位自行去了解了。

相关文章:

2024广东省职业技能大赛云计算赛项实战——Minio服务搭建

Minio服务搭建 前言 这道题是比赛时考到的,没找到具体题目,但在公布的样题中找到了,虽然很短~ 使用提供的 OpenStack 云平台,申请一台云主机,使用提供的软件包安装部署 MINIO 服务并使用 systemctl 管理 Minio是一个…...

【考研408计算机组成原理】数值表示和运算之快速数值转换

苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 另外,利用了工作之余的一点点时间,整理了一套考研408的知识图谱, 我根据这一套知识图谱打造了这样一个408知识图谱问答系统 里面的每一…...

理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计

在与用户的交流中,我们发现对用户需求的精准洞察普遍困扰着产品经理、设计、企划人员,因为当今消费者行为已经由单品消费转向场景消费,千人千面的个性化需求出现,消费者数据维度极大丰富,这对把握用户体验造成了很大挑…...

数据提取与治理:企业实现数据驱动决策的必经之路

数据提取与治理:企业实现数据驱动决策的必经之路 随着信息技术的迅猛发展,数据已经成为企业最宝贵的资产之一。然而,数据并非天生就具有价值,只有通过有效的提取和治理,才能转化为企业决策的有力支撑。本文将探讨数据…...

Avalonia:一个.NET跨平台UI框架

概述 Avalonia是一个强大的框架,使开发人员能够使用. NET创建跨平台应用程序。它使用自己的渲染引擎来绘制UI控件,确保在各种平台上保持一致的外观和行为,包括Windows,macOS,Linux,Android,iOS…...

海量数据处理——bitMap/BloomFilter、hash + 统计 + 堆/归并/快排

前言:海量数据处理是面试中一道常考的问题, 生活中也容易遇到这种问题。 通常就是有一个大文件, 让我们对这个文件进行一系列操作——找出现次数最多的数据、求交集、是否重复出现等等。 因为文件的内容太多, 我们的内存通常是放不…...

TrainingArguments、ModelArguments、DataArguments参数使用(@dataclass)

文章目录 前言一、@dataclass装饰器说明二、transformers.HfArgumentParser参数使用Demo三、field函数四、llava模型参数1、模型参数设置2、数据参数设置3、训练参数设置4、参数解析5、参数传递6、参数添加前言 理解llava相关参数传递方法,有利于我们对模型修改模块使用参数来…...

基于jeecgboot-vue3的Flowable流程-自定义业务表单处理(一)支持同一个业务多个关联流程的选择支持

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 这部分先讲讲支持自定义业务表单一个业务服务表单多个流程的支持处理 1、后端mapper部分 如下,修改selectSysCustomFormByServiceName为list对象,以便支持多个 &…...

解决数据丢失问题的MacOS 数据恢复方法

每个人都经历过 Mac 硬盘或 USB 驱动器、数码相机、SD/存储卡等数据丢失的情况。我们中的一些人可能认为已删除或格式化的数据将永远丢失,因此就此作罢。对于 macOS 用户来说,当文件被删除时,垃圾箱已被清空,他们可能不知道如何恢…...

[ARM-2D 专题]3. ##运算符

C语言的宏系统相当强大,它允许使用##符号来处理预处理期的文本替换。这种用法被称为标记连接(token pasting)操作,其结果是将两个标记紧紧地连接在一起,而省略掉它们之间的所有空格。在复杂的宏定义中,运用…...

基于语音识别的智能电子病历(五)电子病历编辑器

前言 首先我们要明确一个概念:很多电子病历的编辑器,在输入文字的地方,有个麦克风按钮,点击一下,可以进行录音,然后识别的文字会自动输入到电子病历中,这种方式其实不能称为“基于语音识别的智…...

云计算技术高速发展,优势凸显

云计算是一种分布式计算技术,其特点是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,并通过多部服务器组成的系统进行处理和分析这些小程序,最后将结果返回给用户。它融合了分布式计算、效用计算、负载均衡、并行计算、网络存储…...

文本三剑客其二

文本三剑客其二 sed和awk grep就是查找文本当中的内容,扩展正则表达式。 sed 对文本内容进行增删改查 sed是一种流编辑器,一次处理一行内容。 如果只是展示,会放在缓冲区(模式空间),展示结束之后&…...

【达梦数据库】typeorm+node.js+达梦数据库返回自增列值

1.配置环境,下载依赖包 typeorm init --name test22 --database mysql typeorm-dm,uuid,typeorm2,修改连接信息 修改src/ data-source.ts 文件 连接dm,可参考刚刚安装typeorm-dm 模块中的 README.md 3.修改自增信息 /* 修改前*/PrimaryGen…...

【ARMv8/ARMv9 硬件加速系列 2.1 -- ARM NEON 向量寄存器单个元素赋值】

文章目录 NEON 向量寄存器单个元素赋值对 v0.4s中的一个元素赋值对 v1.16b 中的一个元素赋值MOVI (Move Immediate)NEON 向量寄存器单个元素赋值 在ARMv8架构中,你可以使用特定的指令来对v0.4s和v1.16b中的单个元素赋值。这通常通过使用MOV(Move)指令的变种实现,具体取决于…...

GD32学习

参考视频13.立创开发板GD32教程:串口配置_哔哩哔哩_bilibili 固件库跟用户手册基本上差不多,只不过用用户手册编写程序的话会更加的底层,固件库的话就是把一些函数封装起来,用的时候拿过来即可,目前我还没有找到固件库…...

LangChain:如何高效管理 LLM 聊天历史记录?

LangChain 团队发布了一篇关于使用 Dragonfly DB 来有效管理 LangChain 应用程序聊天历史记录的教程。 该教程旨在解决用户在使用 LangChain 应用程序时普遍遇到的一个问题:如何高效地管理聊天历史记录。 LangChain 团队在推文中强调了 Dragonfly DB 在管理聊天历…...

【React】useState 更新延迟的原因是什么,怎么解决?

useState 更新延迟的原因 异步更新:React 中的 useState 更新是异步的,这意味着当你调用更新函数(如 setData)时,React 并不立即同步更新状态,而是将其放入一个待处理的队列中,稍后在适当的时候(如在下一次渲染之前)进行处理。因此,如果你尝试在调用更新函数后立即读…...

非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载百度网盘

redis下载安装以及基本使用 下载地址 链接:百度网盘 请输入提取码 提取码:0410 一个名对应一个数值 内存级 在内存里进行操作 准备启动 我们现在就有一个redis客户端的服务器了 我们再启动一个cmd 操作redis数据库 redis里面的基本数据类型有五种 …...

jigdo无法下载的文件

问题描述 用jigdo下载Debian的iso镜像,剩下最后一个文件下载不了,提示信息: Found 0 of the 1 files required by the template Copied input files to temporary file debian-12.5.0-amd64-DLBD-2.iso.tmp - repeat command and supply mo…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...