基于docker部署minio分布式集群,多机器多挂载,跟着敲就对了

背景:博客上搜了一遍,试了一圈,不是少符号就是机器、挂载情况不搭,配置完网络不通,最后发现了这篇博友的docker部署文章,终于有了头绪。。。

一、准备

1、硬件
虚拟机 硬件配置(内核版本>=4.0) 挂载 指定端口 服务组件
172.19.2.36 8核+16G运行内存、40G系统盘+100G*4磁盘 磁盘vdb、vdc、vdd、vde 挂载到宿主机/minio/data1到/minio/data4

9000,9001

minio

172.19.2.37 同上 同上 同上

minio

172.19.2.38 同上 同上 同上

minio

172.19.2.39 同上 同上 同上 minio
2、软件

minio/minio

二、各节点部署

1、配置域名(更新内核用)

vim /etc/resolv.conf

        添加一行

nameserver 114.114.114.114

2、更新内核

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

yum --enablerepo=elrepo-kernel install -y kernel-lt

        查看都有哪些系统版本:

cat /boot/grub2/grub.cfg |grep 'CentOS Linux'

        将5.4版本设置为默认

grub2-set-default 'CentOS Linux (5.4.257-1.el7.elrepo.x86_64) 7 (Core)'

        重启服务器

reboot

        查看内核版本

uname -r

3、安装docker环境、docker-compose环境

docker安装 步骤参考、docker-compose安装  步骤参考

4、设置镜像源配置文件

vim /etc/docker/daemon.json

5、使用docker拉取minio最新版镜像

docker pull minio/minio

6、创建磁盘挂载目录

mkdir -p /minio/data{1..4}

添加权限

chmod 755 /minio/data1  # 重复到data4

7、挂载目录

        查看所有已挂载、未挂载磁盘

lsblk -f

        查看未挂载磁盘

lsblk -f | grep -v /

8、制作系统

mkfs.xfs /dev/vdb

mkfs.xfs /dev/vdc

mkfs.xfs /dev/vdd

mkfs.xfs /dev/vde

9、编辑开机自动挂载文件

vim  /etc/fstab

添加

/dev/vdb /minio/data1             xfs     defaults   0 0  

/dev/vdc /minio/data2             xfs     defaults   0 0  

/dev/vdd /minio/data3             xfs     defaults   0 0  

/dev/vde /minio/data4             xfs     defaults   0 0  

10、挂载磁盘

mount -a

11、查看磁盘挂载情况

df -h

12、设置docker-compose启动minio节点容器配置,docker-compose.yml

        每个节点只需修改hostname: minio-node1,对应节点即可(改不改都行,区分用)

version: "3"
services:
  minio-node:
    image: minio/minio:latest
    container_name: minio-node
    network_mode: host
    restart: always
    privileged: true
    hostname: minio-node1
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: VcomP@ssw0rd
      MINIO_UPDATE: off
    volumes:
      - /minio/data1:/data1
      - /minio/data2:/data2
      - /minio/data3:/data3
      - /minio/data4:/data4
      - /home/minioServer/log:/home/minio/.minio.sys/log
    command: server http://172.19.2.3{6...9}/data{1...4} --console-address "0.0.0.0:9001" --address "0.0.0.0:9000"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
      interval: 30s
      timeout: 10s
      retries: 3
13、docker-compose启动容器

        进入docker-compose.yml所在目录

docker-compose up -d

14、在各minio节点服务器上依次重复以上动作
15、查看集群节点状态

docker logs -f minio-node

基于docker部署minio分布式集群,多机器多挂载,跟着敲就对了_第1张图片

16、访问控制台172.19.2.36:9001

基于docker部署minio分布式集群,多机器多挂载,跟着敲就对了_第2张图片

17、控制台查看集群状态 

基于docker部署minio分布式集群,多机器多挂载,跟着敲就对了_第3张图片

18、使用nginx进行负载

参考文章 docker部署nginx负载均衡

附上:

JAVA 调用minio API参考官方示例

https://github.com/minio/minio-java/tree/release/examples

你可能感兴趣的:(运行环境,docker,分布式,容器)