- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用containerd的方式绕过这一限制 。
CentOS 7.9 。
RELEASE.2023-03-09T23-16-13Z 。
192.168.10.1 minio1
192.168.10.2 minio2
192.168.10.3 minio3
192.168.10.4 minio4
192.168.10.5 nginxserver
注意:以下为假定的域名配置,实际部署时替换为自己的真实域名,并提供有效的证书信息 。
MinIO后台域名: console.minio.com 。
MinIO接口服务域名: api.minio.com 。
首先要确保每台minio服务器上已经安装好了 containerd 组件,参见 在Linux中安装containerd作为kubernetes的容器运行时 。
并且确保在 nginxserver 主机上安装了nginx,参见 在CentOS中安装和使用nginx 。
在每台机器上执行以下命令 。
注意:确保各个minio服务器之间的防火墙上已经开放了 9000 与 9001 的内网访问权限 。
其中 MINIO_ROOT_USER 与 MINIO_ROOT_PASSWORD 分别时MinIO后台访问的账号密码,请自行替换并妥善保管 。
环境变量 MINIO_SERVER_URL 的值会影响共享文件的链接地址,并且会参与签名计算 。
mkdir /miniodisk
MINIO_ROOT_USER=minio_admin
MINIO_ROOT_PASSWORD=minio_admin_password
MINIO_VERSION=RELEASE.2023-03-09T23-16-13Z
MINIO_CONTAINER=minio-server
ctr run --net-host -d \
--env=MINIO_ROOT_USER=$MINIO_ROOT_USER \
--env=MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD \
--env=MINIO_SERVER_URL=https://api.minio.com \
--mount=type=bind,src=/miniodisk,dst=/data,options=rbind:rw docker.io/minio/minio:$MINIO_VERSION \
$MINIO_CONTAINER minio server \
http://minio1:9000/data \
http://minio2:9000/data \
http://minio3:9000/data \
http://minio4:9000/data \
--console-address ":9001"
此时,我们的MinIO集群已经搭建成功了 。
1、因为MinIO后台使用了WebSocket技术,需要在nginx上配置 Host , Upgrade , Connection 请求头来支持WebSocket的转发,参见 MinIO官方nginx示例 与 WebSocket proxying 。
2、在nginx上使用 301 强制将http请求重定向到https地址,保证访问的数据安全 。
3、修改 client_max_body_size 默认允许上传的文件大小限制,默认值是 1M ,如果上传大文件时会被阻止 。
4、将 ssl_certificate 和 ssl_certificate_key 指定为你自己的证书文件路径 。
以上操作需要修改 /etc/nginx/nginx.conf 文件,新增以下配置信息 。
http {
# 调大客户端请求体的大小限制,便于MinIO上传大文件
client_max_body_size 10M;
# websocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream minioapi {
server minio1:9000;
server minio2:9000;
server minio3:9000;
server minio4:9000;
}
upstream minioconsole {
server minio1:9001;
server minio2:9001;
server minio3:9001;
server minio4:9001;
}
server {
listen 80;
server_name console.minio.com api.minio.com;
access_log /var/log/nginx/http_access.log main;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name api.minio.com;
ssl_certificate "/etc/nginx/ssl_cert/api.minio.com.pem";
ssl_certificate_key "/etc/nginx/ssl_cert/api.minio.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/api_minio_com_access.log main;
location / {
proxy_set_header Host $http_host;
proxy_pass http://minioapi/;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name console.minio.com;
ssl_certificate "/etc/nginx/ssl_cert/console.minio.com.pem";
ssl_certificate_key "/etc/nginx/ssl_cert/console.minio.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/console_minio_com_access.log main;
location / {
proxy_pass http://minioconsole/;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}
配置文件修改完毕之后,重启nginx,使配置生效 。
systemctl restart nginx
配置完成,确保 nginxserver 服务器开放了 80 与 443 端口外网访问权限,并且设置好了域名解析后,我们就可以通过 https://console.minio.com 访问MinIO后台了 。
最后此篇关于使用containerd搭建MinIO集群服务的文章就讲到这里了,如果你想了解更多关于使用containerd搭建MinIO集群服务的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
由于 PostgreSQL 人员选择的术语不当,这会让一些人感到困惑,但请耐心等待... 我们需要能够支持多个 PostgreSQL (PG) 集群,并将它们集群在多个服务器上,例如使用repmgr.
Hadoop会跑很多jobs,从Hbase读取数据,写数据到数据库。假设我有 100 个节点,那么有两种方法可以构建我的 Hadoop/Hbase集群: 100节点hadoop&hbase集群(1个b
在kafka中,我们能创建多种类型的集群,一般如下: 单节点——单个broker集群 单节点——多broker集群 多结点——多broker集群 kafka集群中主要有五个组件: Topic:主题主要
我想在两台机器上运行我的 MPI 程序,一台是 ubuntu 18.04,另一台是 Windows 10。是否可以使用不同的操作系统组成一个集群? (我正在使用 MPICH) 如果可能,怎么做?我在网
简介: 更新负载平衡集群中的节点的最佳实践是什么? 我们在 ha 代理负载均衡器后面使用 RabbitMQ 集群来支持我们的客户端轻松集群,as suggested in the RabbitMQ d
我正在尝试创建一个图表,我明确指定了许多节点的等级并指定了集群。以下代码生成我想要的图形类型: digraph { rankdir=LR subgraph cluster0 {
我正在尝试在 RABBITMQ 上进行集群。我添加了 2 个节点,但无法添加第 3 个节点。我已经聚集了 rabbit@node1 和 rabbit@node2。现在我正在尝试将 rabbit@nod
我在 MS Azure 的生产环境中启用了一个双集群多区域 HA。 我被要求重用同一个集群来使用微服务管理几个新项目。 这里的最佳做法是什么?我应该为每个应用程序创建一个集群吗?将不同集群中的每个项目
我正在尝试 flex 搜索,并且很难在具有3个 flex 搜索实例的单台计算机上创建集群。我对实例进行了以下更改: 在所有实例上更改了群集名称{cluster.name:es-stack} 在所有实例
我想创建一个redis集群,仅将特定的redis主机作为主服务器和从服务器。另外,我想自己指定哪个主机应该是哪个主机的副本。 目前,cluster-create command当在任何一个 Redis
我计划在具有负载平衡的集群中设置 Magento,那么是否可以让两个 Magento 安装指向同一个数据库? 如果可能的话 - 我应该如何配置这些服务器的基本 URL?服务器应该具有相同的名称吗? 最
我目前正在计划一个 Web 应用程序,我想计划它最终在集群上运行。 集群将由一个 php web 集群和一个 mysql 集群以及一个独立的存储单元组成(也许是一个集群,我真的不知道它是如何工作的:s
我已经安装了 elasticsearch 2.2.3 并在 2 个节点的集群中配置 节点 1 (elasticsearch.yml) cluster.name: my-cluster node.nam
我正在寻找现有的中间件解决方案,以解决服务集群/分布方面的问题,以实现负载平衡和可用性。我正在考虑基于消息传递系统(更具体地说,JMS)为此构建自己的基础设施。但是,如果可能的话,我宁愿使用已经存在的
在 Hadoop 集群中,数据是自动跨数据节点复制还是必须编程? 如果必须编程,那我该怎么做呢? 最佳答案 dfs.replication 的默认值为 3。这存在于您的 hdfs.site.xml 中
我已经设置了一个具有 1 个主节点和 2 个从节点的 redis 集群,哨兵在所有 3 个节点上运行。 在此设置之前,我的应用程序指向运行 Redis 实例的单个节点。 集群搭建完成后,我的应用应该指
所以,我正在设计一个具有多个 redis 实例的分布式系统来分解大量的流式写入,但发现很难清楚地了解事情是如何工作的。 从我读到的内容来看,正确配置的集群似乎会自动对“错误实例”上的请求进行分片和重定
我有一个关于redis集群架构的问题。 我正在设置一个 Redis 集群,并遵循基本建议:3 硕士3个奴隶 有什么方法可以在 Amazon LB、HAProxy、Nginx 等负载均衡器后面配置此集群
那么集群背后的想法是什么? 您有多台机器具有相同的数据库副本,您在其中传播读/写?这是正确的吗? 这个想法如何运作?当我进行选择查询时,集群会分析哪个服务器的读/写较少并将我的查询指向该服务器? 当您
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kube
我是一名优秀的程序员,十分优秀!