minio 集群搭建记录

minio的集群搭建。

1.通过docker-compose的方式搭建集群。

官方中文文档:https://docs.min.io/cn/deploy-minio-on-docker-compose.html

version: '3.0'
services:
    minio1:
        image: minio/minio
        volumes:
            - ./data1-1:/data1
            - ./data1-2:/data2
        ports:
            - "9001:9000"
        environment:
            MINIO_ACCESS_KEY: minio
            MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
            test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
            interval: 30s
            timeout: 20s
            retries: 3

    minio2:
        image: minio/minio
        volumes:
            - ./data2-1:/data1
            - ./data2-2:/data2
        ports:
            - "9002:9000"
        environment:
            MINIO_ACCESS_KEY: minio
            MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
            test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
            interval: 30s
            timeout: 20s
            retries: 3

    minio3:
        image: minio/minio
        volumes:
            - ./data3-1:/data1
            - ./data3-2:/data2
        ports:
            - "9003:9000"
        environment:
            MINIO_ACCESS_KEY: minio
            MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
            test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
            interval: 30s
            timeout: 20s
            retries: 3

    minio4:
        image: minio/minio
        volumes:
            - ./data4-1:/data1
            - ./data4-2:/data2
        ports:
            - "9004:9000"
        environment:
            MINIO_ACCESS_KEY: minio
            MINIO_SECRET_KEY: minio123
        command: server http://minio{1...4}/data{1...2}
        healthcheck:
            test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
            interval: 30s
            timeout: 20s
            retries: 3

这种是在单机上跑,我查了很久资料,也尝试了很多次。确实只能单机跑。即时我在另一台机子暴露端口配置一样,run的时候也把加进去了,都不得行。会报一个错。

登陆进去就会弹这个。

然后看日志,我这里当时配置的是8089端口跟上面端口不一样,但是报错是这个。

无论我怎么配置,始终是报这个错。内网之间也是能通的,同样报错。

所以也就无法初始化,无法使用。由此我得出结论。docker-compose部署的这种方式,仅限于单机多硬盘的模式。

可以用docker跑多个容器起来,每个容器挂载不同的硬盘。对外只开一个nginx就ok了。

但我的业务场景是多台机器部署。

所以最终我还是没有使用docker-compose来部署。当然如果你只有一台机器部署的话 上面的方式就很适合。如果只有一块硬盘就留一个就好了。

2. 不用docker-compose的方式部署集群。

1.现在有机器 192.168.0.238 和192.168.0.239 两台机器。我们分别在每台机器上创建目录   /home/minio

2.下载minio官方下载地址  https://dl.min.io/server/minio/release/linux-amd64/minio 

 这里下载很慢80kb/s ,,还是有点大。所以我用的这个工具下,多线程下载还是比较快。

3.下载完后上传到 两台机器的 /home/minio 目录里面,然后在两台机器的这个目录里面创建data1 和 data2 用来存放数据,当然如果你有4台机器 也可以每个机器创建1个目录来放。

我这里创建2个目录是因为minio集群最少要4个server 所以我创建2个目录模拟。

然后编写如下shell。run.sh

#!/bin/bash
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=admin123
./minio server --config-dir ./ \
--address "0.0.0.0:8089" \
http://192.168.0.238:8089/home/minio/data1 http://192.168.0.238:8089/home/minio/data2 \
http://192.168.0.239:8089/home/minio/data1 http://192.168.0.239:8089/home/minio/data2 > minio_server.log

两台机器都是一样一样的。然后运行起来即可。

像这样,两台机器的minio目录都会有这个日志。打开是这样就对了。

然后分别登陆上去,创建一个文件夹,上传一个文件,去另一个地址进去看是不是同样也生成了对应的文件夹和文件。

配置好nginx,就完成了。

这里还还可以做成开机自启。

vim /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/home/minio/
ExecStart=/home/minio/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

 修改权限

chmod +x /usr/lib/systemd/system/minio.service && chmod +x /home/minio/minio && chmod +x/home/minio/run.sh
systemctl daemon-reload
systemctl enable minio
systemctl start minio

启动就好了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值