docker-安装minio集群

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

目录

1.服务器列表

2.NTP时间同步

1.服务端 minio_01配置

2.客户端配置-minio_02、minio_03、minio_04配置

3.Minio集群

1.在对应的主机执行对应的语句

2.创建文件夹

3.创建容器

4.访问

5.查看集群

4.nginx代理集群192.168.1.3

1.nginx安装

2.访问代理


1.服务器列表

ame ip 远程端口
minio_04 192.168.1.11 22
minio_03 192.168.1.10 22
minio_02 192.168.1.9 22
minio_01/nginx 192.168.1.3 22

2.NTP时间同步

1.服务端 minio_01配置

Minio集群需要各个节点的时间保持同步,故选择NTP作为时间同步服务,这里将 minio1(192.168.1.3)节点作为同步服务端

# 安装ntp
yum install ntp ntpdate –y
# 启动ntp服务
systemctl start ntpd
# 服务端修改配置文件

 docker-安装minio集群

 文章来源地址https://www.toymoban.com/news/detail-470546.html

# 修改服务端配置文件
vim /etc/ntp.conf

#注释掉其他上游时间服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#本机作为服务端
#配置时间服务器为本地的ntpd Server服务器
#以本地时间为主,可以设置其他网络时间,但这里主要是针对无网络情况
server 127.127.1.1
fudge 127.127.1.1 stratum 10

 docker-安装minio集群

# 重启ntp服务
systemctl restart ntpd
# 查看端口 UDP123
ss -lnu
# 查看ntp状态
ntpq -p
# 设置开机启动
systemctl enable ntpd
# 开放UDP 123端口
firewall-cmd --permanent --zone=public --add-port=123/udp
firewall-cmd --reload

 docker-安装minio集群

2.客户端配置-minio_02、minio_03、minio_04配置

# 安装ntp
yum install ntp ntpdate –y

# 手动同步一次
/usr/sbin/ntpdate -u 192.168.1.3

# 修改配置文件
vi /etc/ntp.conf

#注释掉其他上游时间服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#配置允许上游时间服务器主动修改本机的时间
restrict 192.168.1.3 nomodify notrap noquery
#配置上游时间服务器为本地的ntpd Server服务器
server 192.168.1.3
fudge 192.168.1.3 stratum 10

 docker-安装minio集群

# 启动ntp服务
systemctl start ntpd
# 设置开机启动
systemctl enable ntpd

docker-安装minio集群 

 

3.Minio集群

 节点分别为192.168.1.3、192.168.1.9、192.168.1.10、192.168.1.11,以下操作除创建容器外,均可在各个节点同步执行,docker部署集群模式时必须指定-–net=host参数,使用主机网络,采用端口映射无法创建集群

1.在对应的主机执行对应的语句

cat >> /etc/hosts <<EOF 
	192.168.1.3 minio1
	192.168.1.9 minio2 
	192.168.1.10 minio3 
	192.168.1.11 minio4
EOF
# 查看文件内容
cat /etc/hosts

docker-安装minio集群

 

2.创建文件夹

#根据机器资源分配情况,选择合适位置
rm -rf /data/docker/minio/
mkdir -p /data/docker/minio/{update,bakup}

docker-安装minio集群

cd /data/docker/minio/ && ls

docker-安装minio集群

3.创建容器

# 拉取镜像
docker pull minio/minio:RELEASE.2022-10-24T18-35-07Z

docker-安装minio集群

# 开放端口,我的执行过了会有警告
firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --permanent --zone=public --add-port=9001/tcp
firewall-cmd --reload

 docker-安装minio集群

 

# 创建容器命令,在各个服务器上运行
# minio-1(192.168.1.3)
docker run -it -d  --name minio-01 --restart=always --net=host \
-p 9000:9000 -p 9001:9001 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin@1196869282" \
-v /data/docker/minio/update:/data1 \
-v /data/docker/minio/bakup:/data2 \
-m 300m  \
--privileged=true \
minio/minio:RELEASE.2022-10-24T18-35-07Z server \
--address 192.168.1.3:9000 \
--console-address '0.0.0.0:9001' http://minio{1...4}/data{1...2}

# minio-2(192.168.1.9)
docker run -it -d  --name minio-02 --restart=always --net=host  \
-p 9000:9000 -p 9001:9001 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin@1196869282" \
-v /data/docker/minio/update:/data1 \
-v /data/docker/minio/bakup:/data2 \
-m 300m  \
--privileged=true \
minio/minio:RELEASE.2022-10-24T18-35-07Z server \
--address 192.168.1.9:9000 \
--console-address '0.0.0.0:9001' http://minio{1...4}/data{1...2}

#minio-3(192.168.1.10)
docker run -it -d  --name minio-03 --restart=always --net=host  \
-p 9000:9000 -p 9001:9001 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin@1196869282" \
-v /data/docker/minio/update:/data1 \
-v /data/docker/minio/bakup:/data2 \
-m 300m  \
--privileged=true \
minio/minio:RELEASE.2022-10-24T18-35-07Z server \
--address 192.168.1.10:9000 \
--console-address '0.0.0.0:9001' http://minio{1...4}/data{1...2}

#minio-4(192.168.1.11)
docker run -it -d  --name minio-04 --restart=always --net=host  \
-p 9000:9000 -p 9999:9999 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin@1196869282" \
-v /data/docker/minio/update:/data1 \
-v /data/docker/minio/bakup:/data2 \
-m 300m  \
--privileged=true \
minio/minio:RELEASE.2022-10-24T18-35-07Z server \
--address 192.168.1.11:9000 \
--console-address '0.0.0.0:9001' http://minio{1...4}/data{1...2}

docker-安装minio集群

 

4.访问

登录任意一个节点的192.168.1.3:9001进行看板访问
账号admin密码admin@1196869282

docker-安装minio集群

 

5.查看集群

docker-安装minio集群

 

4.nginx代理集群192.168.1.3

1.nginx安装

# 打开防火墙端口
firewall-cmd --permanent --zone=public --add-port=19001/tcp
firewall-cmd --permanent --zone=public --add-port=19000/tcp
firewall-cmd --reload
# 创建nginx配置目录
rm -rf /data/docker/nginx/nginx_master/
mkdir -p /data/docker/nginx/nginx_master/{conf,conf.d,logs,html}

docker-安装minio集群

 

# 编辑nginx主配置文件
vi /data/docker/nginx/nginx_master/conf/nginx.conf
user  nginx;
# 1.9.10版本后可以配置
# worker_processes auto;
# worker_cpu_affinity auto;
# 相当于
# worker_processes     4;
# worker_cpu_affinity 0001 0010 0100 1000;

worker_processes auto;
worker_cpu_affinity auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    # 设置content-type映射 
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    # 通过nginx内置变量拼接的日志字符串 相当于方法名称为 main   
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    # 日志存储位置,使用的日至格式方法为main
    access_log  /var/log/nginx/access.log  main;
    # 当 nginx 是静态文件服务器时,能极大提高nginx的性能表现
    sendfile        on;
    #tcp_nopush     on;
    # 超时时间
    keepalive_timeout  65;

    #gzip  on;
    
    # 包含下面 /etc/nginx/conf.d/的.conf结尾的所有文件
    include /etc/nginx/conf.d/*.conf;
}

docker-安装minio集群 

 

# 配置minio代理配置文件
vi /data/docker/nginx/nginx_master/conf.d/minio.conf

docker-安装minio集群 

 

upstream minio_console {

 
    server 192.168.1.3:9001 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.9:9001 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.10:9001 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.11:9001 max_fails=3 fail_timeout=5s;
 
}
 
upstream minio_api {
 
    server 192.168.1.3:9000 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.9:9000 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.10:9000 max_fails=3 fail_timeout=5s;
 
    server 192.168.1.11:9000 max_fails=3 fail_timeout=5s;
 
}
 
server {
 
        listen  19001;
 
        server_name     192.168.1.3;
 
        access_log  /var/log/nginx/access.log  main;
 
 
        ignore_invalid_headers off;
 
        client_max_body_size 0;
 
 
        location / {
 
            proxy_pass      http://minio_console;
 
            expires                 0;
 
            proxy_connect_timeout 300;
 
            chunked_transfer_encoding off;
 
 
            proxy_http_version      1.1;
 
            proxy_set_header Upgrade $http_upgrade;
 
            proxy_set_header Connection "upgrade";
 
            proxy_next_upstream     http_500 http_502 http_503 http_504 error timeout invalid_header;
 
            proxy_set_header        Host  $http_host;
 
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 
 
 
 
        }
 
    }
 
 
 
 
    server {
 
        listen  19000;
 
        server_name     192.168.1.3;
 
         access_log  /var/log/nginx/access.log  main;
 
 
 
 
 
        ignore_invalid_headers off;
 
        client_max_body_size 0;
 
 
 
 
        location / {
 
            proxy_pass      http://minio_api;
 
            expires                 0;
 
            proxy_connect_timeout 300;
 
            chunked_transfer_encoding off;
 
 
 
 
            proxy_http_version      1.1;
 
            proxy_set_header Upgrade $http_upgrade;
 
            proxy_set_header Connection "upgrade";
 
            proxy_next_upstream     http_500 http_502 http_503 http_504 error timeout invalid_header;
 
            proxy_set_header        Host  $http_host;
 
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 
        }
 
    }
# 创建nginx容器,第一次会慢一些
docker run -it -d --name=nginx_master \
-p 19001:19001 -p 19000:19000 \
-v /data/docker/nginx/nginx_master/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/nginx_master/logs:/var/log/nginx \
-v /data/docker/nginx/nginx_master/conf.d:/etc/nginx/conf.d \
-v /data/docker/nginx/nginx_master/html:/usr/share/nginx/html  \
--restart=always -m 300m --net=host  \
-e TZ=Asia/Shanghai --privileged=true \
nginx:1.22

docker-安装minio集群

 

# 查看nginx运行状态

docker-安装minio集群

 

2.访问代理

http://192.168.1.3:19001

docker-安装minio集群

 

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

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

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

相关文章

  • 获取FTP服务器某个目录下的所有文件列表

    最近的一个需求为扫描FTP文件夹下的所有文件用于前端下载, 要求多层文件夹内的文件也能被扫到. 多层文件夹一般就要用到递归了, 上代码:  调用该方法: 调用完后, fileList中就有指定目录下的所有文件名  依赖: 定时调用逻辑使用的是PowerJob, 嫌麻烦可以直接使用spring自带的

    2024年02月13日
    浏览(53)
  • 宝塔 ftp 服务器发回了不可路由的地址/读取目录列表失败

    ftp连接不上: 1.注意内网IP和外网IP 2.检查ftp服务是否启动 (面板首页即可看到) 3.检查防火墙 20 端口 ftp 21 端口及被动端口 39000 - 40000 是否放行 (如是腾讯云/阿里云等还需检查安全组) 4.是否主动/被动模式都不能连接 5.新建一个用户看是否能连接 6.修改ftp配置文件 将For

    2024年01月23日
    浏览(46)
  • minio文件服务器-docker docker-compose 搭建部署以及使用大全

    下载官网 简介 docker-compose 单机版安装 拉取镜像运行容器 docker-compose 搭建 minio 分布式对象存储 部署 官方推荐 docker-compose.yaml :下载地址 vim docker-compose.yml 接着创建 config目录 执行启动命令,看到各个节点 healthy 状态即成功 浏览器访问任意节点 web console ,进行简单配置,配

    2023年04月10日
    浏览(60)
  • Docker部署MinIO对象存储服务器结合Cpolar实现远程访问

    🔥 博客主页 : 小羊失眠啦. 🎥 系列专栏 : 《C语言》 《数据结构》 《Linux》 《Cpolar》 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 MinIO是一个开源的对象存储服务器

    2024年02月05日
    浏览(62)
  • MinIO文件服务器,从安装到使用

    以往的项目,用的比较多的OSS服务是腾讯云和阿里云的存储服务,不过从去年到今年,最近的几个项目,普遍要使用Minio,所以我在开发服务器和测试服务器上都装上了minio 一、首先minio的安装 MInIO的安装有很多方法、单实例的、集群分布式的、docker部署的、支持k8s的,我们使

    2024年02月06日
    浏览(41)
  • Docker部署MinIO对象存储服务器结合内网穿透实现远程访问

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年02月04日
    浏览(48)
  • 【minio】Ubuntu安装MinIO文件服务器并通过C++上传下载

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍MinIO的使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 MinIO是一种高性能、可扩展的 对象存储服务 ,它可以在私有云、公共云和边缘计

    2024年02月08日
    浏览(56)
  • minio开源的对象存储服务器安装及使用

    MinIO是一个开源的对象存储服务器,设计用于实现高性能、可扩展的云存储。它兼容Amazon S3云存储服务的API,因此可以与现有的S3兼容应用程序进行集成。 MinIO可以部署在本地服务器、私有云环境或公共云上,如AWS、Azure、Google Cloud等。它通过将数据分散在多个独立节点上实现

    2024年02月08日
    浏览(51)
  • Docker本地部署MinIO对象存储服务器结合Cpolar内网穿透实现远程访问

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年02月04日
    浏览(55)
  • docker搭建minio服务器,解决内网穿透后外网无法访问问题

    搭建MinIo 内部搭建的MinIo服务器映射到外网后访问文件资源一直报认证异常,经资料查阅minio有自己一套加密校验逻辑,访问时不可改动其桶名 解决内网穿透minio访问异常问题 通过nginx进行代理,代理时不改变访问路径,外网映射时映射nginx的代理地址 修改Nginx配置

    2024年02月11日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包