MinIO 文件服务器简单搭建
MinIO 文件服务器简单搭建
本地安装
Minio是一个对象存储服务器,在项目中可以用来存储文件,替代本地存储或者ftp存储的功能。docker 安装
docker run --name minio -d -p 9000:9000 -e MINIO_ACCESS_KEY=admin -e MINIO_SECRET_KEY=12345678 -v /data:/data minio/minio server /datalinux 安装
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio在minio二进制文件位置
前台运行:
./minio server /data
后台运行:
./minio server /data >minilog.conf &
单机启动脚本
/opt/minio/minio 是你的minio 程序全路径
/opt/minio/file_img 是你要保存文件的路径
#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456nohup /opt/minio/minio server --address 0.0.0.0:9089 /opt/minio/file_img > /opt/minio/minio.log 2>&1 &
分布式集群
特别注意:minio分布式部署最少四个节点,也就是四台服务,因为minio特性 你的可用节点不能小于N/2
也就是说你如果使用四个节点(服务,不是硬盘哈)的话停掉两个节点之后,服务依然可用,当停掉三个后服务挂了,
如果你使用两个节点的话,挂掉一个服务直接凉,所以两个节点的没意义。 _
你可以先运行一下 run.sh 脚本看看是否正常
如果提示:-bash: ./run.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录 错误
使用 sed -i ‘s/\r$//’ run.sh 文件内容转码
脚本文件如果是从本地上传的linux 服务器的,注意文件编码,可以单独运行一下.sh文件试一下是否没有错误。
------------------- 》原文链接:https://www.centoscn.vip/1480.html
环境
[root@minio1 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
服务器
192.168.1.138
192.168.1.139
目录
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个数据存储目录(两台机器都创建)
[root@minio1 ~]# mkdir -p /home/data1
[root@minio1 ~]# mkdir -p /home/data2
[root@minio2 ~]# mkdir -p /home/data1
[root@minio2 ~]# mkdir -p /home/data2
启动脚本目录[root@minio1 ~]# mkdir -p /opt/minio
[root@minio2 ~]# mkdir -p /opt/minio集群配置文件目录
[root@minio1 ~]# mkdir -p /etc/minio
[root@minio2 ~]# mkdir -p /etc/minio编写集群启动脚本(所有节点配置文件相同)
[root@minio1 ~]# cat /opt/minio/run.sh
#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456/opt/minio/minio server --config-dir /etc/minio \
http://192.168.1.138/home/data1 http://192.168.1.138/home/data2 \
http://192.168.1.139/home/data1 http://192.168.1.139/home/data2 \
节点2[root@minio2 ~]# cat /opt/minio/run.sh
这里是启动脚本
#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456/opt/minio/minio server --config-dir /etc/minio \
http://192.168.1.138/home/data1 http://192.168.1.138/home/data2 \
http://192.168.1.139/home/data1 http://192.168.1.139/home/data2 \
其中,“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“–config-dir”指定集群配置文件目录编写服务脚本(所有节点)
[root@minio1 ~]# cat /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target
节点2[root@minio2 ~]# vim /usr/lib/systemd/system/minio.service[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target
添加脚本权限
[root@minio1 ~]# chmod +x /usr/lib/systemd/system/minio.service[root@minio2 ~]# chmod +x /usr/lib/systemd/system/minio.service
启动测试
将minio上传到/opt/minio目录下并赋予权限[root@minio1 ~]# cd /opt/minio///这里是直接服务器wget 下载 也可以官网直接下载二进制文件 拷贝进去直接就可以使用
[root@minio1 minio]# wget https://dl.minio.io/server/minio/release/linux-amd64/minio[root@minio1 minio]# chmod +x minio
[root@minio1 minio]# chmod +x /opt/minio/run.sh
节点2[root@minio2 ~]# cd /opt/minio/
[root@minio2 minio]# wget https://dl.minio.io/server/minio/release/linux-amd64/minio[root@minio2 minio]# chmod +x minio
[root@minio2 minio]# chmod +x /opt/minio/run.sh
启动
[root@minio1 minio]# systemctl daemon-reload
[root@minio1 minio]# systemctl start minio
[root@minio1 minio]# systemctl enable minio
Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /usr/lib/systemd/system/minio.service.
节点2[root@minio2 minio]# systemctl daemon-reload
[root@minio2 minio]# systemctl start minio
[root@minio2 minio]# systemctl enable minio
Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /usr/lib/systemd/system/minio.service.
测试
浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试http://192.168.1.138:9000/minio/login
创建完成之后在第一个minio所做的操作会自动同步到第二个minio上。
官方api文档上的全都是旧的,没卵用。
关于minio 文件服务器 java 的使用 请参见:https://blog.csdn.net/weixin_42563880/article/details/109490020
nginx 负载均衡配置:
upstream minio_server{server 192.168.95.132:9000 weight=10;server 192.168.95.131:9000 weight=5; }server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;client_max_body_size 20M;charset utf-8;location / {proxy_set_header Host $http_host;client_body_buffer_size 10M;client_max_body_size 10G;proxy_buffers 1024 4k;proxy_read_timeout 300;proxy_pass http://minio_server; }
./nginx 启动nginx
systemctl 基本用法
1、启动服务
systemctl start *.service2、停止服务
systemctl stop *.service3、重启服务
systemctl restart *.service
脚本
一台服务器部署多个端口,模拟分布式脚本
#!/bin/bashRUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.146.128
#accesskey and secretkey
ACCESS_KEY=minio
SECRET_KEY=minio123for i in {01..04}; doSTART_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
两台服务器每条部署多个端口 模拟分布式部署
#!/bin/bashRUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.146.130
MINIO_HOST2=192.168.146.131
#accesskey and secretkey
ACCESS_KEY=minio
SECRET_KEY=minio123for i in {01..02}; doSTART_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST2}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST2}:9001/opt/min-data1 http://${MINIO_HOST2}:9002/opt/min-data2 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &"su - ${RUNNING_USER} -c "${START_CMD}"
done
MinIO 文件服务器简单搭建相关推荐
- 阿帕奇搭建文件服务器,关于LINUX文件服务器简单搭建---NFS与APACHE服务
这里写自定义目录标题 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Ma ...
- 烂泥:文件服务器搭建与使用详解,minio文件服务器搭建(单机版)
minio服务端搭建 mkdir /usr/local/minio mkdir /usr/local/minio/etc mkdir /usr/local/minio/data cd /usr/loc ...
- 使用minio搭建文件服务器,MinIO文件服务器构建
Docker 容器安装MinIO文件服务器 稳定版 docker pull minio/minio 注意:启动,此命令在容器关闭时数据自动消失. docker run -p 9000:9000 min ...
- MinIO纠错码、分布式MinIO集群搭建及启动
文章目录 前言 一.MinIO纠删码 二.分布式集群部署 1.分布式存储可靠性常用的方法 2.分布式MinIO 3.分布式MinIO集群搭建 3.1 下载MinIO 3.2 为每一台虚拟机创建目录并上 ...
- springboot 整合minio client 简单使用 视频流展示demo
springboot 整合minio client 简单使用 视频流展示demo 不好意思 本人没有强迫症 代码随便造 知识来源于百度,感谢百度合作伙伴以及各位网友demo的帮助 源码:https:/ ...
- 分布式文件服务minio集群搭建
minio集群搭建过程记录 minio集群搭建 1.服务器:2台服务器(存储数据目录不能是/root目录,否则会报错) 2.从官网获取Minio二进制文件并上传至2台集群主机: 3.创建目录(2台集群 ...
- python简易版实例_Python3之简单搭建自带服务器的实例讲解
WEB开发,我们先从搭建一个简单的服务器开始,Python自带服务模块,且python3相比于python2有很大不同, 在Python2.6版本里,/usr/bin/lib/python2.6/ 目 ...
- 十分钟用Windows服务器简单搭建DHCP中继代理!!
十分钟用Windows服务器简单搭建DHCP中继代理!! 一.什么是中继代理? 大家都知道DHCP分配地址都需要用到IP广播,但是广播是不能在两个网段之间进行 ...
- RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器
RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器 在<RHEL4- SAMBA服务(一)samba服务的安装与启动>中我讲了如何安装和启动 ...
最新文章
- 学 Redis ,至少要看看这篇!7000 字小结
- Silverlight实例教程 - Out of Browser在线更新和Silent安装
- EL之GB(GBC):利用GB对多分类问题进行建模(分层抽样+调1参)并评估
- dcf是ea211发动机吗_大众有的车怎么把ea211换成dcf了?
- 逆天的IE7中,诡异的横向滚动条
- flink shell的local模式(benv与senv的使用+处理报错的解决方案)
- Struts+Tomcat搭建
- 31 MM配置-采购-采购申请-采购申请审批策略-定义审批过程
- linux测试有效组,软件测试:三分钟掌握Linux命令之用户用户组命令(必读系列三)...
- 文本嵌入的经典模型与最新进展
- unable to verify the first certificate
- 数据可视化过程中常见的错误类型
- cydia红字解决方法(cydia安装软件时出现红字怎么解决)
- 计算机软考中级网络工程师考点总结——待续
- 比特大陆60天 :夺权、立威下的疯狂裁员
- 用图层蒙版抠图并合成(每天一个PS小项目)
- springboot 启动报错 Unexpected filename extension of file
- leetcode877
- 中学化学教学参考杂志社中学化学教学参考编辑部2022年第12期目录
- 程序员,你的薪资和劳动价值成正比吗?
热门文章
- C++ COM组件的编写
- mysql使用触发器,delete、insert、update触发器
- IBM__P系列 小型机 故障定位 故障排除
- 解决只读文件系统问题
- hive时间戳函数之unix_timestamp(),from_unixtime,to_utc_timestamp
- android 源码下载
- 数字体验词汇表:您需要了解的最重要术语
- debian 更换源 使用国内源 配置方法
- 查看华三交换机设备信息命令
- WebService 及java网络编程等基础概念(一)