MinIO 是全球领先的对象存储先锋,目前在全世界有数百万的用户. 在标准硬件上,读/写速度上高达 183 GB / 秒 和 171 GB / 秒。对象存储可以充当主存储层,以处理 Spark、Presto、TensorFlow、H2O.ai 等各种复杂工作负载以及成为 Hadoop HDFS 的替代品。MinIO 用作云原生应用程序的主要存储,与传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。
下面介绍在 Linux
与 Windows
平台搭建 MinIO
服务的具体步骤。
一、编译安装
1. 文件下载
这里我选择的安装路径:/home/minio
,根据你的喜好自行选择。
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio # 下载文件
chmod +x minio # 赋予文件权限
2. 服务启动
新版本的 MinIO
在启动时必须指定控制台端口,否则将外网将无法访问。
./minio/minio server ./mimio/data --console-adress ":9001" # 启动,并重定向到9001
nohup /home/minio/minio server --console-address 0.0.0.0:9001 /home/minio/data > /home/minio/data/minio.log 2>&1 & # 设置后台运行
3. 端口开放
需要提前开放 9001
防火墙端口,然后即可通过 IP:9000
访问控制台了。
firewall-cmd --add-port=9001/tcp --zone=public --permanent # 永久开放9001端口
firewall-cmd --reload # 重载配置生效
4. 密码修改
(1) 配置修改
修改密码的话直接修改 config.json
文件中对应的 value
值即可,完成后保存后重启服务即可。
cd ./minio/data/.minio.sys/config/
vi config.json
[{"key":"access_key","value":"user_name"},{"key":"secret_key","value":"password"}]
(2) 服务重启
修改之后重启 MinIO
服务即可,我暂时没找到直接的重启命令,所有我采取最粗暴的方式直接关闭 MinIO
的进程再手动启动。
lsof -i:9000 # 查看对应进程获取PID
kill -9 [PID] # 关闭进程
nohup /home/minio/minio server --console-address 0.0.0.0:9001 /home/minio/data > /home/minio/data/minio.log 2>&1 & # 重新运行
二、Docker安装
1. Docker下载
在部署之前需要先安装 Docker
服务。
yum -y install docker # 安装docker
systemctl start docker # 启动docker
2. 旧版安装
(1) 镜像拉取
通过 docker pull
拉取指定版本 MinIO
镜像版本。
docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z # 拉取minio版本
(2) 服务启动
如果出现 xxx is not a valid repository/tag
说明的 Docker
版本太低不支持大写键入,需要手动进行更新。
docker run -d --name minio -p 9000:9000\
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /usr/local/minio/data:/data \
-v /usr/local/minio/config:/root/.minio \
minio/minio:RELEASE.2021-06-17T00-10-46Z server /data
(3) Docker更新
在执行 curl -fsSL https://get.docker.com/ | sh
可能会提示超时,多试几次就可以了。
rpm -qa|grep docker # 查看 docker 相关源文件
yum -y remove <xxx> # 删除上一步查询的文件包
curl -fsSL https://get.docker.com/ | sh # 安装最新版本
3. 新版安装
这新版本中引入众多特性,如桶内允许嵌套桶等等。
(1) 镜像拉取
同样拉取 MinIO
镜像,未指定版本默认拉取最新版本。
docker pull minio/minio # 拉取镜像
(2) 启动服务
控制台服务使用 50000
端口访问, API
接口使用 9000
端口访问,数据存储于: /usr/local/minio/data
,配置文件位于:/usr/local/minio/config
。
docker run -d --name minio \
--privileged=true \
-p 9000:9000 \
-p 50000:50000 \
-e MINIO_ROOT_USER=minioadmin \
-e MINIO_ROOT_PASSWORD=minioadmin \
-v /usr/local/minio/data:/data \
-v /usr/local/minio/config:/root/.minio \
minio/minio server /data \
--console-address ":50000" --address ":9000"
三、Windows安装
1. 前台启动
(1) 文件下载
进入官网进行下载,只需下载服务端即可。
https://min.io/download
(2) 启动配置
将下载 minio.exe
文件指定位置,我这里放在 D:\Develop\MinIO
目录下。在该目录下新建 start.bat
文件,其中 D:\Develop\MinIO\date
表示 MinIO
后续数据存放位置。
# bat 文件内容
minio.exe server D:\Develop\MinIO\date
(3) 服务启动
双击启动 bat
文件即可,控制台会自动显示访问地址以及默认的登录账号。
2. 后台运行
后台启动的话就无需前台一直开着命令行窗口,更便捷。
(1) WinSW下载
后台服务需要用到 WinSW
,官网下载地址如下:
https://github.com/winsw/winsw/releases
(2) 配置文件
XML
文件必须和 MinIOServer
文件名一致,将 MinIOServer.xml
文件和 MinIOServer.exe
置于 minio.exe
同级目录。
<service>
<id>MinIOServer</id>
<name>MinIOServer</name>
<description>minio文件存储服务器</description>
<!-- 环境配置 -->
<env name="HOME" value="%BASE%"/>
<executable>%BASE%\minio.exe</executable>
<arguments>server "%BASE%\data"</arguments>
<!-- 日志配置 -->
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMMdd</zipDateFormat>
</log>
</service>
(3) 启动
在该目录下新建命令窗口,输入:MinIOServer.exe install
。然后在 Windows
服务中找到 MinIOServer
服务启动即可。访问路径:localhost:9000
,默认账号密码:minioadmin, minioadmin
。
若要关闭 MinIO
服务直接关闭 MinIOServer
服务即可。
(4) 修改密码
进入目录 minio\data\.minio.sys\config
,修改 config.json
文件中的信息即可。
[{"key":"access_key","value":"username"},{"key":"secret_key","value":"password"}]