目录
1.概述
2.windows分布式部署
2.1单节点多磁盘
2.1.1.创建目录
2.1.2启动脚本
2.1.3测试
2.2.多节点
2.2.1目录结构
2.2.2脚本
2.2.3启动测试
2.2.4nginx负载均衡
2.2.5测试
3.linux分布式部署
3.1 单节点部署多磁盘
3.2 多节点部署
3.2.1 部署脚本
3.2.2 部署注意点
3.2.3 使用 nginx 负载均衡
2.1.2启动脚本
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server –console-address “127.0.0.1:9000” –address “127.0.0.1:9090” D:\minio\oneNodeManyData\data1 D:\minio\oneNodeManyData\data2 D:\minio\oneNodeManyData\data3 D:\minio\oneNodeManyData\data4
脚本解释:
首先设置临时环境变量,指定登录账号密码
–console-address “127.0.0.1:9000″:代表管理页面的ip和端口
–address “127.0.0.1:9090″:代表接口的ip和端口
然后跟四个目录
2.1.3测试
创建bucket,上传文件,发现data1、data2中均包含文件夹和文件
查看文件夹中的文件,发现是meta数据,
2.2.多节点
2.2.1目录结构
2.2.2脚本
解释:端口不同,数据盘目录均一致,需要执行四次
9001服务,api9091
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server –console-address “127.0.0.1:9001” –address “127.0.0.1:9091” ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9002服务,api9092
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server –console-address “127.0.0.1:9002” –address “127.0.0.1:9092” ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9003服务,api9093
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server –console-address “127.0.0.1:9003” –address “127.0.0.1:9093″ ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
9004服务,api9094
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server –console-address “127.0.0.1:9004” –address “127.0.0.1:9094″ ^
http://127.0.0.1:9091/D:/minio/manyNodeManyData/data1 ^
http://127.0.0.1:9092/D:/minio/manyNodeManyData/data2 ^
http://127.0.0.1:9093/D:/minio/manyNodeManyData/data3 ^
http://127.0.0.1:9094/D:/minio/manyNodeManyData/data4
2.2.3启动测试
2.2.4nginx负载均衡
前面单独对每个节点进行访问显然不合理,通过使用 nginx 代理,进行负载均衡则很有必要。简单的配置如下:
server{
listen 8888;
server_name 127.0.0.1;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host host:server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header Host $http_host;
proxy_connect_timeout 300;
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_ignore_client_abort on;
proxy_pass http://http_minio;
}
}
2.2.5测试
通过日志可以发现,轮循访问四个不同的节点
3.linux分布式部署
转载:MinIO 的分布式部署 – Mason技术记录 – 博客园
3.1 单节点部署多磁盘
在启动 MinIO 时,若传入参数是多个目录,则会以纠删码的形式运行,即具备高可靠性意义。即在一个服务器(单节点)上对,多个磁盘上运行 MinIO。
运行命令也很简单,参数传入多个目录即可:
MINIO_ACCESS_KEY={ACCESS_KEY} MINIO_SECRET_KEY={SECRET_KEY} nohup {MINIO_HOME}/minio server --address "{MINIO_PORT}" /opt/min-data1 /opt/min-data2 /opt/min-data3 /opt/min-data4 >
注意替换命令中的变更,运行后输出信息如下:
可见 MinIO 会创建一个1个 set,set 中有4个 drive ,其中它会提示一个警告,提示一个节点的 set 中存在多于2个的drive,如果节点挂掉,则数据都不可用了,这与 EC 码的规则一致。
3.2 多节点部署
3.2.1 部署脚本
为了防止单点故障,分布式存储自然是需要多节点部署,以达到高可靠和高可用的能力。MinIO 对于多节点的部署,也是在启动时通过指定有 Host 和端口的目录地址,即可实现。下面在单台机器上,通过不同的端口模拟在4台机器节点上运行,存储目录依然是 min-data14,而对应的端口是90019004。脚本如下:
<code style="margin-left:0">RUNNING_USER=root MINIO_HOME=/opt/minio MINIO_HOST=192.168.222.10 #accesskey and secretkey ACCESS_KEY=minio SECRET_KEY=minio123 for i in {01..04}; do START_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST}:9003/opt/min-data3 http://${MINIO_HOST}:9004/opt/min-data4 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &" su - ${RUNNING_USER} -c "${START_CMD}" done</code>
本示例中,minio 的启动命令运行了4次,相当于在四台机器节点上都分别运行一个minio实例,从而模拟四个节点。运行结果如下:
查看进程ps -ef |grep minio
:
3.2.2 部署注意点
- 所有运行分布式 MinIO 的节点需要具有相同的访问密钥和秘密密钥才能连接。建议在执行 MINIO 服务器命令之前,将访问密钥作为环境变量,MINIO access key 和 MINIO secret key 导出到所有节点上 。
- Minio 创建4到16个驱动器的擦除编码集。
- Minio 选择最大的 EC 集大小,该集大小除以给定的驱动器总数。 例如,8个驱动器将用作一个大小为8的 EC 集,而不是两个大小为4的 EC 集 。
- 建议所有运行分布式 MinIO 设置的节点都是同构的,即相同的操作系统、相同数量的磁盘和相同的网络互连 。
- 运行分布式 MinIO 实例的服务器时间差不应超过15分钟。
运行起来后,使用 http://{MINIO_HOST}:9001 到http://{MINIO_HOST}:9004 均可以访问到 MinIO 的使用界面。
3.2.3 使用 nginx 负载均衡
前面单独对每个节点进行访问显然不合理,通过使用 nginx 代理,进行负载均衡则很有必要。简单的配置如下:
<code style="margin-left:0">upstream http_minio { server 192.168.222.10:9001; server 192.168.222.10:9002; server 192.168.222.10:9003; server 192.168.222.10:9004; } server{ listen 8888; server_name 192.168.222.10; ignore_invalid_headers off; client_max_body_size 0; proxy_buffering off; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; proxy_set_header Host $http_host; proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; proxy_ignore_client_abort on; proxy_pass http://http_minio; } }</code>
其中主要是 upstream 及 proxy_pass 的配置。如此,即可使用http://${MINIO_HOST}:8888
进行访问。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184455.html原文链接:https://javaforall.cn
未经允许不得转载:木盒主机 » minio节点扩展_多节点部署定时任务