MinIO在Linux环境下单机安装部署

news2024/12/20 0:46:22

在这里插入图片描述

1、MinIO是什么?

MinIO 是一个基于 Go语言实现的高性能对象存储。它采用AGPL(GNU Affero General Public License) 开源协议并兼容 S3 协议。
官网地址:https://min.io/
github地址:https://github.com/minio/minio

2、MinIO能干啥?

  • MinIO是一个轻量的对象存储服务,非常适合用于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器以及虚拟机镜像等。
  • MinIO使用简单,功能强大,支持各种平台,支持单个文件最小1KB到最大5TB,兼容 Amazon S3接口,提供了 Java、Python、GO等多语言版本SDK支持。
  • MinIO集群采用去中心化共享架构,每个结点是对等关系,通过Nginx可对MinIO进行负载均衡访问。
  • MinIO采用去中心化设计,在大数据领域,通常的设计理念都是无中心和分布式。
  • Minio分布式模式可以搭建一个高可用的对象存储服务,可以使用这些服务进行对象存储,而不用考虑其真实物理位置。
  • Minio分布式部署模式将分布在不同服务器上的多块硬盘组成一个对象存储服务,由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。
  • MinIO分布式模式下根目录"/"不可以做为MinIO的数据目录,MinIO官方建议MinIO集群最少部署4个节点。
    在这里插入图片描述

3、MinIO该怎么玩?

要想操作MinIO,首先肯定是要安装部署服务,由于 MinIO 是 Go语言写的,因此它就只有一个运行程序,安装部署 MinIO 就非常简单。

3.1、MinIO安装部署

在MinIO官网的下载页面中https://min.io/download#/linux,已经提供了多种安装部署方式,我们使用在Linux环境下部署的方式。

3.1.1、创建目录

为了便于日后端MinIO数据进行管理,在服务器中创建专门用于MinIO的目录;
在这里插入图片描述
各目录的主要作用如下:

  • bin:二进制文件目录
  • data:数据存储目录
  • config:配置文件目录
  • log:日志文件路径

3.1.2、下载MinIO

根据官网,使用如下命令下载MinIO二进制文件,建议将 MinIO 服务端和客户端都下载下来。
进入到 bin 目录,使用如下命令下载文件并添加执行权限。

  • 服务端
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio  #添加执行权限
  • 客户端
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc  #添加执行权限

由于是外网链接,下载速度有可能会很慢,请耐心等待。

3.1.3 启动MinIO服务

下载完成并添加执行权限后,可以通过官网提供的命令启动:

MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"
  • 用户名为“admin”
  • 密码为“password”
  • 数据存储路径为“/mnt/data”
  • 控制台页面的访问端口为“9001”

但有时我们并不想使用官网的命令进行启动,可能我们需要修改下控制台页面的访问端口,或是修改S3-API的访问端口,可以使用如下命令,可以根据自己的需求进行自定义修改。

MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password nohup /data/minio/bin/minio server --config-dir /data/minio/config /data/server/minio/data --address ":2222" --console-address ":1111" > /data/server/minio/log/minio.log 2>&1 &
  • 用户名为“admin”
  • 密码为“password”
  • S3-API访问端口为“2222”
  • 控制台页面访问端口为“1111”

根据自己的需求对上诉启动命令进行相应修改。

3.1.4、访问MinIO 控制台页面

使用浏览器访问 http://服务器IP:1111地址,访问 MinIO 内置的 UI 界面。
账号为 admin,密码为 password 进行登录,成功进入首页。
在这里插入图片描述
在这里插入图片描述

3.2、页面使用

3.2.1、创建Bucket

在这里插入图片描述
在这里插入图片描述

3.2.2、配置Bucket访问规则

默认情况下,访问Bucket是需要进行请求授权的,但是在实际使用过程中,我们希望可以直接访问Bucket,因此,需要给相应的Bucket添加 readonly 访问策略。
在这里插入图片描述

3.2.3、文件上传

在这里插入图片描述
上传成功
在这里插入图片描述

3.2.4、文件访问

文件的访问地址的格式为 http://{IP}:{S3-API端口}/{bucket}/{name};按照以上配置,图片的访问路径为:http://127.0.0.1:2222/test/minio-logo.png,最终效果如下:
在这里插入图片描述

3.3、MinIO Client 客户端命令行工具(mc)

MinIO Client (mc) 是 MinIO 提供的命令行工具,用于访问 MinIO Server。在以上步骤中已经介绍过如何安装。如果对MC感兴趣可以访问官网进行学习。
官网地址:https://min.io/docs/minio/linux/reference/minio-mc.html

至此,Linux下MinIO单节点安装部署完成。

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

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

相关文章

C 程序 运算符

文章目录 1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符6、杂项运算符 ↦ sizeof & 三元7、运算符优先级 1、算术运算符 #include <stdio.h>int main() {int a 21;int b 10;int c ;c a b;printf("Line 1 - c 的值是 %d\n", c );c …

Jenkins从配置到实战(一) - 实现C/C++项目自动化构建

前言 本文章主要介绍了&#xff0c;如何去安装和部署Jenkins&#xff0c;并实现自动拉取项目代码&#xff0c;自动化编译流程。 网站 官网中文网站 下载安装 可以下载这个 安装jenkins前先安装java yum search java|grep jdkyum install java-1.8.0-openjdk 安装jenkins j…

我是如何做性能测试 - 文档收集并深入学习

目录 前言&#xff1a; 1. 架构设计说明书 2. 需求说明文档/需求规格说明书 3. 接口设计文档 4. 接口详细设计文档 5. 数据库设计文档 前言&#xff1a; 性能测试是软件开发过程中的一个重要方面&#xff0c;它旨在评估软件在不同负载和压力条件下的性能表现。性能测试需…

Android10 调用相机 ( 涉及读写文件 ) 闪退

背景 按照 << 第一行Android代码>>写了一下调用摄像头和相册的案例, 页面是下面截图的样子, 拍照或者从相册选择图片后, 在下方的 imageView 里将图片显示出来. 点击 “从相册选择照片” 按钮的时候功能是正常的, 点击 “拍照” 按钮的时候会闪退并报告相机异常.…

Java训练三

一、数独 将1~9的数字放入一个3x3的数组中国&#xff0c;判断数组每行每列以及每个对角线的值相加是否都相同。 package haha; public class helloworld{public static void main(String[] args) {int arr[][] {{1,2,3},{4,5,6},{7,8,9}};//每行int arr1[]new int[3];for(int…

【uniapp学习之】uni-forms必填项校验

代码块 <uni-forms ref"baseForm" :modelValue"baseFormData" label-widthauto :rules"rules"><uni-forms-item label"企业名称" required name"principalName"><uni-easyinput v-model"baseFormData.…

数组中重复的数据(力扣)思维 JAVA

给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次。 请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

git pull无效,显示 * branch master -> FETCH_HEADAlready up to date. pull无效解决方法

报错情况 本地文件夹中删除文件后&#xff0c;git pull无效。显示如下&#xff1a; **** MINGW64 ~/****/haha (master) $ git pull origin master From https://gitee.com/****/haha* branch master -> FETCH_HEAD Already up to date.解决 方法一 命令…

C++ —— STL容器【vector】模拟实现

本章代码gitee仓库&#xff1a;vector模拟实现、vector源码 文章目录 &#x1f608;0. 搭个框架&#x1f604;1. 成员&#x1f47b;2. 构造函数 & 析构函数 & 拷贝构造&#x1f63a;3. 迭代器&#x1f649;4. operator[] & operator&#x1f916;5. 容器的容量 &am…

Vue mixin 混入

可以复用的组件&#xff0c;我们一般会抽离&#xff0c;写成公共的模块。 可以复用的方法&#xff0c;我们一般会抽离&#xff0c;写成公共的函数。 那么 在 Vue 中&#xff0c;如果 某几个组件实例 VueComponent 中、或者 整个 Vue 项目中 都存在相同的配置&#xff0c;那就…

jmeter-断言

断言作用&#xff1a;让脚本自动化执行过程中&#xff0c;能够自动判定执行结果是否正确&#xff0c;需要添加断言 响应断言 添加方式&#xff1a;测试计划–》线程组–》HTTP请求–》(右键添加)断言–》响应断言 案例 请求:https://www.baidu.com 检查&#xff1a;让程序检查…

13.4 【Linux】使用者身份切换

使用一般帐号&#xff1a;系统平日操作的好习惯 尽量以一般身份使用者来操作Linux的日常作业。等到需要设置系统环境时&#xff0c; 才变换身份成为 root 来进行系统管理&#xff0c;相对比较安全。避免作错一些严重的指令&#xff0c;例如恐怖的“ rm -rf / ”。 用较低权限…

OpenTDF数据加密引擎

OpenTDF是Virtru公司的开源项目。 Virtru基于OpenTDF开发了用于google Workspace和Microsoft 365的相关数据安全产品。 简介 virtru公司基于opentdf开发挺多产品的,都是数据安全类产品。 能把opentdf开源,已经非常不容易了。 opentdf的代码看起来还是比较整齐和成熟的。…

flink写入到kafka 大坑解析。

1.kafka能不能发送null消息&#xff1f; 能&#xff01; 2 flink能不能发送null消息到kafka&#xff1f; 不能&#xff01; public static void main(String[] args) throws Exception {StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(…

mysql 第九章

目录 1.mha 搭建 2.总结 1.mha 搭建 主从同步&#xff1a; 安装 mha 软件&#xff1a; mha 模拟 vip 飘移、master 切换&#xff1a; 2.总结 mha 是一套优秀的 mysql 高可用环境下故障切换和主从复制的软件。mha 解决 mysql 单点的问题。mysql 故障切换过程中&#xff0c;mh…

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇) 本文目录 Linux 学习记录57(ARM篇)一、外部中断1. 概念2. 流程图框 二、相关寄存器1. GIC CPU Interface (GICC)2. GIC distributor (GICD)3. EXTI registers 三、EXTI 寄存器1. 概述2. 内部框图3. 寄存器功能描述4. EXTI选择框图5. EXTI_EXTICR1 &…

Qt Creator mainwindow.obj:-1: error: LNK2019

构建的时候报错&#xff1a; mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall mynotedig::mynotedig(class QWidget *)" (??0mynotedigQAEPAVQWidgetZ)&#xff0c;该符号在函数 "public: void __thiscall MainWindow::mynoteab…

C语言宏替换的注意事项

先思考一个问题&#xff1a; #include <string> #include <Windows.h>namespace ui { int MessageBox(HWND hwnd, const std::wstring &text, const std::wstring &caption,UINT flags) {UINT actual_flags flags;const wchar_t *text_ptr text.c_str();…

推荐 3 个实用的 GitHub 项目

本期推荐开源项目目录&#xff1a; 1. 开源知识库 2. 去中心化的社交平台 3. h2oGPT 01 开源知识库 AFFINE 是 Notion、Miro 等知识库产品的开源替代品&#xff0c;目前已经获得了近 20k 的 Stark。通过 AFFINE 你可以进行写作、绘画、计划管理。 类似于 Notion 的 Block &…