MinIO服务部署教程


MinIO 是全球领先的对象存储先锋,目前在全世界有数百万的用户. 在标准硬件上,读/写速度上高达 183 GB / 秒 和 171 GB / 秒。对象存储可以充当主存储层,以处理 Spark、Presto、TensorFlow、H2O.ai 等各种复杂工作负载以及成为 Hadoop HDFS 的替代品。MinIO 用作云原生应用程序的主要存储,与传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。

下面介绍在 LinuxWindows 平台搭建 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"}]

文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录