一、基础环境

操作系统:CentOS 7.x

Minio在线演示
Minio下载

二、准备工作

2.1、机器资源

192.168.1.101
/data1
192.168.1.102
/data2
192.168.1.103
/data3
192.168.1.104
/data4

本集群由4台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个

2.2、创建相关目录(所有节点)

数据存储目录
$ mkdir -p /var/minio/bin

启动脚本目录
$ cd /var/minio/bin

$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio

$ chmod +x minio

集群配置文件目录
$ mkdir -p /etc/minio

三、编写集群启动脚本(所有节点配置文件相同)

$ vim /var/minio/bin/run.sh

#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=test123456

/var/minio/bin/minio server --config-dir /etc/minio \
http://192.168.1.101/data1 http://192.168.1.102/data2 \
http://192.168.1.103/data3 http://192.168.1.104/data4

其中,“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“-config-dir”指定集群配置文件目录

$ chmod +x /var/minio/bin/run.sh

四、编写服务脚本(所有节点)

$ vim /usr/lib/systemd/system/minio.service

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/var/minio/bin/
ExecStart=/var/minio/bin/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

其中,“WorkingDirectory”为启动脚本目录,“ExecStart”为指定集群启动脚本

$ chmod +x /usr/lib/systemd/system/minio.service

五、启动测试

启动

systemctl daemon-reload
systemctl start minio
systemctl enable minio

测试

浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试

六、配置nginx(可选)

配置nginx 支持lb(支持集群节点;支持多集群混用)
upstream minio-server {
    server 192.168.1.101:9000 weight=25 max_fails=2 fail_timeout=30s;
    server 192.168.1.102:9000 weight=25 max_fails=2 fail_timeout=30s;
    server 192.168.1.103:9000 weight=25 max_fails=2 fail_timeout=30s;
    server 192.168.1.104:9000 weight=25 max_fails=2 fail_timeout=30s;
}
server {
    listen 80;
    server_name localhost;
    charset utf-8;
    default_type text/html;
    location /{
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $remote_addr;
        client_body_buffer_size 10M;
        client_max_body_size 10G;
        proxy_buffers 1024 4k;
        proxy_read_timeout 300;
        proxy_next_upstream error timeout http_404;
        proxy_pass http://minio-server;
    }
}

七、配置桶的永久下载连接(可选)

安装客户端
首先是安装minio客户端,这个官方文档很清楚,各取所需吧,由于我使用的服务器没有外网,只能通过XFTP上传离线文件进行使用,所以下载二进制文件

二进制文件地址:https://dl.minio.io/client/mc/release/linux-amd64/mc

$ chmod +x mc

设置自定义命令
$ alias mc="./mc"

至此,我们的minio client就安装完成了。

添加服务端host
使用 minio client 将我自己的 minio server 添加到 mc 的配置管理:

$ mc config host add minio-101 http://192.168.1.101:9000/ minio test123456 S3v4

$ mc config host add minio-102 http://192.168.1.102:9000/ minio test123456 S3v4

$ mc config host add minio-103 http://192.168.1.103:9000/ minio test123456 S3v4

$ mc config host add minio-104 http://192.168.1.104:9000/ minio test123456 S3v4

这样我们才能直接管理这个 minio server 端。

配置下载策略(设置桶dev的policy)
$ mc policy set download minio-101/dev
$ mc policy set download minio-102/dev
$ mc policy set download minio-103/dev
$ mc policy set download minio-104/dev

这个命令的作用是将 server 端的 dev 桶设置为开放管理,可以直接通过 url (nginx或任意节点)进行下载。

[桶名]/[路径]可以一直拼接到具体的文件夹或文件

类似于以下 http://xxx.xxx.xxx.xxx:9000/dev/xxx.zip,可用浏览器直接从此URL访问下载。

CentOS-搭建MinIO集群的更多相关文章

  1. CentOS搭建Redis集群

    集群原理-redis-cluster架构图 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的 ...

  2. CentOS 搭建Graylog集群详解

    1. Graylog2 简介 Graylog 是一个简单易用.功能较全面的日志管理工具,相比 ELK 组合, 优点: 部署维护简单,一体化解决方案,不像ELK三个独立系统集成. 查相比ES json语 ...

  3. 分布式存储Minio集群环境搭建

    MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可 ...

  4. centos 6.5 搭建zookeeper集群

    为什么使用Zookeeper? 大部分分布式应用需要一个主控.协调器或控制器来管理物理分布的子进程(如资源.任务分配等)目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调程序的反复编写浪费 ...

  5. CentOS 7 环境搭建kafka集群

    Kafka是一个MQ服务,流行的MQ服务器有三个,分别是ActiveMQ,RabbbitMQ和Kafka 目录说明:/home/fuqinqin/packages : 安装包存放目录/home/fuq ...

  6. CentOS 7 搭建 Ceph 集群(nautilus 版本)

    搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...

  7. virtualbox 虚拟3台虚拟机搭建hadoop集群

    用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...

  8. 搭建Hadoop集群 (二)

    前面的步骤请看  搭建Hadoop集群 (一) 安装Hadoop 解压安装 登录master, 下载解压hadoop 2.6.2压缩包到/home/hm/文件夹. (也可以从主机拖拽或者psftp压缩 ...

  9. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  10. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

随机推荐

  1. Arduino+AS608指纹锁避坑记

    Arduino+AS608指纹锁避坑记 .title { text-align: center; margin-bottom: 0.2em } .subtitle { text-align: cent ...

  2. 某SPI设备驱动引起的开关机压力测试死机问题一例

    环境 硬件平台:某ARM SoC 软件平台:Linux 问题现象:产品做开关机压力测试,发生死机. 分析 用crash工具解析两次死机dump信息,得到死机前的log如下.两次死机的backtrace ...

  3. Java基础之概述

    1. 什么是程序 程序是计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 2. Java三大版本 Java SE 标准版 Java EE 企业版 Java ME 小型版 3. Java重要 ...

  4. 一文读懂一条 SQL 查询语句是如何执行的

    2001 年 MySQL 发布 3.23 版本,自此便开始获得广泛应用,随着不断地升级迭代,至今 MySQL 已经走过了 20 个年头. 为了充分发挥 MySQL 的性能并顺利地使用,就必须正确理解其 ...

  5. js发送请求给服务端

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Volatile 原理及使用,java并发中的可见性问题

    1.解决并发编程中的可见性问题 volatile 代表不使用cpu缓存,修改后的数据,将直接刷到内存中,被volatile修饰的变量,读取的时候,也是从内存中读取,不从cpu缓存中读取 上代码 // ...

  7. YOLO v1到YOLO v4(下)

    YOLO v1到YOLO v4(下) Faster YOLO使用的是GoogleLeNet,比VGG-16快,YOLO完成一次前向过程只用8.52 billion 运算,而VGG-16要30.69bi ...

  8. TensorFlow文本情感分析实现

    TensorFlow文本情感分析实现 前面介绍了如何将卷积网络应用于图像.本文将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句子或文档表示为矩阵,则该矩阵与其中每个单元 ...

  9. TensorRT深度学习训练和部署图示

    TensorRT深度学习训练和部署 NVIDIA TensorRT是用于生产环境的高性能深度学习推理库.功率效率和响应速度是部署的深度学习应用程序的两个关键指标,因为它们直接影响用户体验和所提供服务的 ...

  10. 2D池化IPoolingLayer

    2D池化IPoolingLayer IPooling层在通道内实现池化.支持的池类型为最大, 平均 和 最大平均混合. 层描述:二维池化 使用张量上的2D滤波器计算池化a tensor A, of d ...