前言
关于分布式文件存储,之前我也是使用fastdfs,那为什么突然选择minio?
1、它可以多平台部署
2、搭建起来不是很复杂
3、github近30K的star
什么是minio?
构建高性能的云原生数据
机器学习,大数据分析,海量存储的基础架构
MinIO支持各种应用程序数据工作负载
在中国:阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品
更多详细介绍请参考官网
官网:https://min.io/
中文版:http://www.minio.org.cn/ (注意:中文版本的有些资料更新没那么及时,建议看官网地址)
github项目地址:https://github.com/minio/
下载地址:https://min.io/download
安装
这里我是演示windows版本下minio服务器的安装,以下是下载链接地址
https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
cmd命令启动程序
进入到minio的目录下,执行
minio.exe server D:\MinIO\Data --console-address ":9000" --address ":9090"
1
参数介绍
D:\MinIO\Data:MinIO安装的目录,包含配置文件,存储文件
–console-address “:9000”:控制台端口,自带UI页面
–address “:9090”:API端口
这时候有报了一个错误:
WARNING: Detected default credentials ‘minioadmin:minioadmin’, we recommend that you change these values with ‘MINIO_ROOT_USER’ and ‘MINIO_ROOT_PASSWORD’ environment variables
大概意思就是让我们改下默认密码,它建议我们新增一个环境变量来初始化这些值。即使我们不调整也是可以访问的,但为了安全,我们还是要调整一下。
解决初始账号密码问题
1、设置添加环境变量
PS> setx MINIO_ROOT_USER admin
PS> setx MINIO_ROOT_PASSWORD password
12
2、直接修改配置文件config.json
找到配置文件并打开,一般在安装目录D:\MinIO\Data.minio.sys\config\config.json
然后找到access_key和secret_key调整成自己想要账号密码
改完保存一下,然后重新运行起来,成功
利用nssm把minio.exe安装成windows服务
用控制台打开的程序,大家都知道在生产环境中很容易被别人误关掉,所以还是改成windows服务比较好。
1、写个可以把程序运行起来的批处理文件
minio.bat
@echo off
set path=D:\MinIO
set minPath=D:\MinIO\Data
%path%\minio.exe server %minPath% --console-address ":9000" --address ":9090"
pause
12345
2、利用nssm安装minio.bat
安装服务
D:\nssm-2.24\win64>nssm install MinIOServiceCustom "D:\MinIO\minio.bat"
1
查看一下是否有服务,有则成功
卸载服务
D:\nssm-2.24\win64>nssm remove MinIOServiceCustom confirm
1
MinIO控制台
输入账号密码,成功跳转到首页
下面以Windows电脑为例,设置minio文件服务分布式部署。
1.安装Minio
比较简单,自行百度查询。
2.运行分布式Minio
启动分布式Minio实例,需要把硬盘位置做为参数传给minio server命令,注意:
分布式Minio使用的磁盘里必须是干净的,里面没有数据。
示例: 启动分布式Minio实例,4个节点,需要在4个节点上都运行下面的命令。
多机集群部署
minio server http://192.168.10.11/D:/minio http://192.168.10.12/D:/minio http://192.168.10.13/D:/minio http://192.168.10.14/D:/minio
如果需要在单机上进行集群部署,改下端口号和路径即可
minio server --address :9001 http://127.0.0.1/D:/minio1 http://127.0.0.1/D:/minio2 http://127.0.0.1/D:/minio3 http://127.0.0.1/D:/minio4
minio server --address :9002 http://127.0.0.1/D:/minio1 http://127.0.0.1/D:/minio2 http://127.0.0.1/D:/minio3 http://127.0.0.1/D:/minio4
minio server --address :9003 http://127.0.0.1/D:/minio1 http://127.0.0.1/D:/minio2 http://127.0.0.1/D:/minio3 http://127.0.0.1/D:/minio4
minio server --address :9004 http://127.0.0.1/D:/minio1 http://127.0.0.1/D:/minio2 http://127.0.0.1/D:/minio3 http://127.0.0.1/D:/minio4
3.配置负载均衡
Nginx.conf增加配置
多机集群配置
upstream minio {
server 192.168.10.11:9000;
server 192.168.10.12:9000;
server 192.168.10.13:9000;
server 192.168.10.14:9000;
}
server {
listen 9000;
server_name localhost;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
访问http://192.168.10.10:9000/自动负载到其他四台电脑的minio服务上
单机集群配置
upstream minio {
server 127.0.0.1:9001;
server 127.0.0.1:9002;
server 127.0.0.1:9003;
server 127.0.0.1:9004;
}
server {
listen 9000;
server_name localhost;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
访问http://127.0.0.1:9000/自动负载到9001~9004的任意一个端口
常见问题:
ERROR Unable to initialize backend: found backend fs, expected xl
解决方案:
原因是当前这台服务器部署过单机版,导致集群部署一直不成功。需要将原来相关⽂件存储⽬录⾥的 .minio.sys⽂件清理掉。
如需转载,请注明作者和原文连接。
标签:127.0,http,minio,为例,Windows,server,0.1,proxy From: https://www.cnblogs.com/xiondun/p/17501184.html