minio分布式集群安装部署实战详细手册

这篇具有很好参考价值的文章主要介绍了minio分布式集群安装部署实战详细手册。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。基于Apache License v2.0开源协议的对象存储项目,采用Golang实现,客户端支Java,Python,Javacript, Golang语言。

其设计的主要目标是作为私有云对象存储的标准方案。主要用于存储海量的图片,视频,文档等。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。


一、准备工作

操作系统:CentOS 7
机器资源:
分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。

建议最少4个硬盘,这样的话就可以做到1个磁盘损坏集群依然可以读写,2个磁盘损坏集群依然可读
本文因是测试环境仅以2台机器2块磁盘为例,每台机器两个数据目录

节点 目录
10.101.37.25 /app/minio/data1
10.101.37.25 /app/minio/data2
10.101.37.28 /app/minio/data1
10.101.37.28 /app/minio/data2

minio安装包:
官网下载,官网网络较慢,也可以采用CSDN下载


二、集群搭建(每台服务器操作都一样)

1.创建目录

mkdir /app/minio/data1
mkdir /app/minio/data2

2.编写启动脚本

 vi /app/minio/run.sh
#!/bin/bash
export MINIO_ROOT_USER=testminio
export MINIO_ROOT_PASSWORD=testminio
#export MINIO_PROMETHEUS_AUTH_TYPE="public"
/app/minio/minio server --address ":9000" --console-address ":9001" http://10.101.37.28/app/minio/data1 http://10.101.37.28/app/minio/data2   http://10.101.37.25/app/minio/data1 http://10.101.37.25/app/minio/data2   > /app/minio/minio.log 2>&1  &

  • MINIO_PROMETHEUS_AUTH_TYPE=“public”,允许对prometheus度量标准不进行身份验证(MinIO支持Prometheus jwt或两种身份验证模式public,默认情况下,MinIO以jwtmode 运行。)
  • –address “:9000”,可配置minio的API访问端口
  • –console-address “:9001”,可配置minio的WEB管理界面的访问端口
  • –config-dir /app/minio/config是指定配置文件路径的,如果没有指定这个参数,那么默认就会在~/.minio下生成相关的文件

3.赋权、启动

chmod +x /app/minio/minio
chmod +x /app/minio/run.sh
./run.sh

4.浏览器访问

输入集群任意节点地址,如需负载可配置nginx,如果地址访问不通,请关闭防火墙或者开放9000端口
minio集群部署,云原生,对象存储,minio,linux,minio安装

5.Nginx负载均衡配置

nginx.conf配置如下:


worker_processes  4;
events {
     worker_connections  65535;
}

error_log  logs/error.log;

events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    client_max_body_size 10M;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr"'
                      '$request_time $upstream_response_time';



    access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;

    # include /etc/nginx/conf.d/*.conf;

    upstream minio {
        server 10.101.37.25:9000;
        server 10.101.37.28:9000;
    }

    upstream console {
        ip_hash;
        server 10.101.37.25:9001;
        server 10.101.37.28:9001;
    }

    server {
        listen       9000;
        listen  [::]:9000;
        server_name  localhost;

        # To allow special characters in headers
        ignore_invalid_headers off;
        # Allow any size file to be uploaded.
        # Set to a value such as 1000m; to restrict file size to a specific value
        client_max_body_size 0;
        # To disable buffering
        proxy_buffering off;

        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

            # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            chunked_transfer_encoding off;

            proxy_pass http://minio;
        }
    }

    server {
        listen       9001;
        listen  [::]:9001;
        server_name  localhost;

        # To allow special characters in headers
        ignore_invalid_headers off;
        # Allow any size file to be uploaded.
        # Set to a value such as 1000m; to restrict file size to a specific value
        client_max_body_size 0;
        # To disable buffering
        proxy_buffering off;

        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

           # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
           proxy_http_version 1.1;
           proxy_set_header Connection "";
           chunked_transfer_encoding off;

            proxy_pass http://console;
        }
    }
}

三.注意事项

1.data数据目录,一旦初始化后,增加或减少数据目录,会报错:已被使用。需要删除数据目录重建

例如:25服务器进行单机部署调试,调试成功后,进行25和28集群部署时,data1和data2目录必须删除重建。文章来源地址https://www.toymoban.com/news/detail-651832.html


结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步

到了这里,关于minio分布式集群安装部署实战详细手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学习笔记MinIo对象存储-Docker分布式集群搭建踩坑!

    ​ MinIO 是一款基于Go语言的高性能对象存储服务,在Github上已有39K+Star。它采用了Apache License v2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 本文将使用 MinIO 来自建一个对象存储服务用于存储图片。 ​ M

    2024年02月11日
    浏览(53)
  • 高性能分布式对象存储——MinIO实战操作(MinIO扩容)

    MinIO的基础概念和环境部署可以参考我之前的文章:高性能分布式对象存储——MinIO(环境部署) 官方文档:https://docs.min.io/docs/minio-admin-complete-guide.html MinIO Client (mc) 为 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了现代替代方案。它支持文件系统和兼容 Amazon S3 的云存

    2023年04月26日
    浏览(65)
  • Hadoop3.3.5最新版本安装分布式集群部署

    Index of /dist/hadoop/common https://archive.apache.org/dist/hadoop/common  集群规划: 注意: NameNode和SecondaryNameNode不要安装在同一台服务器 ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。 机器 ip 分配节点 node01 192.168.56.201 NameNode 、DataNode、NodeManager node02 192.

    2024年02月01日
    浏览(70)
  • 大数据开源框架环境搭建(七)——Spark完全分布式集群的安装部署

    前言:七八九用于Spark的编程实验 大数据开源框架之基于Spark的气象数据处理与分析_木子一个Lee的博客-CSDN博客_spark舆情分析 目录 实验环境: 实验步骤: 一、解压 二、配置环境变量:  三、修改配置文件  1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分发配置文件:

    2024年02月11日
    浏览(54)
  • 大数据开源框架环境搭建(五)——Hbase完全分布式集群的安装部署

    目录 实验环境: 实验步骤: 〇、Zookeeper安装配置: 一、安装前注意事项 二、HBase安装  三、Hbase集群配置 1.配置hbase-env.sh文件,位于Hbase安装目录/conf/ 2.配置hbase-site.xml文件,位于Hbase安装目录/conf/ 3.配置regionservers 4.新建 backup-masters文件,添加备份HMaster机器名 四、将配置好

    2024年02月08日
    浏览(45)
  • Hadoop集群部署(完全分布式模式、hadoop2.7.3+安装包)

    目录 一、上传、解压配置 (一)上传 (二)解压 (三)配置hadoop系统环境变量 1.配置hadoop环境变量 2.让环境变量生效 3.验证hadoop系统环境变量 二、修改配置文件  (一)前置介绍 (二)更改配置文件 1.配置Hadoop集群主机点 2.修改core-site.xml文件 3.修改hdfs-site.xml文件 4.修改

    2024年04月25日
    浏览(58)
  • 大数据开源框架环境搭建(四)——HDFS完全分布式集群的安装部署

    前言:本实验的所有路径均为本人计算机路径,有些路径需要看自己的,跟着我的一起做最好。普通用户下大部分命令需要加sudo,root模式下不用。如果怕麻烦,直接在root用户下操作。 目录 实验环境: 实验步骤: 一、配置NAT网络 ,分配静态IP地址 1.打开VMware,选择编辑,

    2024年02月05日
    浏览(56)
  • 部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

    目录 前置 一、上传解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 (四)配置hdfs-site.xml文件 三、分发到hp2、hp3, 并设置环境变量 (一)准备数据目录    (二)配置环境变量 四、创建数据目录,并

    2024年04月14日
    浏览(57)
  • Spark Standalone 模式的安装和部署 第1关: Standalone 分布式集群搭建

    我们已经掌握了 Spark 单机版安装,那么分布式集群怎么搭建呢? 接下来我们学习 Standalone 分布式集群搭建。 课程视频 如果你需要在本地配置 Spark 完全分布式环境,可以通过查看课程视频来学习。 课程视频《Spark配置文件设置》 Spark分布式安装模式 Spark 分布式环境安装目前

    2024年02月03日
    浏览(45)
  • 【分布式文件存储】MinIO部署及实现文件上传下载

    目录 概述 MinIO集群部署 准备docker-compose.yml 测试启动 MinIO用户管理 Buckets管理  创建Buckets MinIO客户端 引入依赖   文件上传下载Demo 调用API碰到的问题 MinIO | 高性能, Kubernetes 原生对象存储 MinIO是全球领先的对象存储先锋,目前在全世界有数百万的用户。 高性能 ,在标准硬件

    2024年02月07日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包