How to create a MinIO S3 storage area for SLC Hub

Nico Chart_21517
Nico Chart_21517
Altair Employee
edited June 2023 in Altair RapidMiner

Local MinIO Installation

Certain optional features of an Altair SLC Hub requires an S3 compatible object store in order to store information. One option for providing this is to use a local MinIO installation. This page details and example of setting up a local S3 store for an Altair SLC Hub.

Please note that the installation, configuration, monitoring, backup and maintenance of your S3 storage area is not part of the service provided by Altair. We hope this technical note provides useful information but please refer to official MinIO documentation for reference.

Installation on Linux

Software installation

Create a group and user to run MinIO:

useradd -r -s /sbin/nologin minio

Create a location for S3 data:

mkdir -p /var/minio/slcbucket
chown minio:minio /var/minio

The MinIO software needs to be installed from the MinIO download page.

View the page to find the latest dated RPM https://dl.min.io/server/minio/release/linux-amd64/

Download the RPM

wget https://dl.min.io/server/minio/release/linux-amd64/minio-DATEVERSION.x86_64.rpm

Configure Minio to run as a service

Create a file called /etc/default/minio with the following contents:

# Volume to be used for Minio server.
MINIO_VOLUMES="/var/minio/"

# Use if you want to run Minio on a custom port.
MINIO_OPTS="--address :9000 --console-address :9001"

# Root user for the server.
MINIO_ROOT_USER=minioadmin
# Root secret for the server.
MINIO_ROOT_PASSWORD=minio123

The service can then be started with the following commands

systemctl daemon-reload
systemctl enable minio
systemctl start minio

In the case of error, logs can be accessed via journalctl with the command
journalctl -u minio

Altair SLC Hub uses S3 to store results and artifact data and should be backed up routinely to prevent data loss.

Installation and Configuration on Windows

Software Installation

The MinIO Server for windows is distributed as a single executable rather than as a Windows MSI. Download the binary for the MinIO Server from the MinIO download page and store it in a suitable directory. This directory will be referred to as the Minio home directory, or minio-home. It is not recommended that the MinIO executable be placed in the Altair SLC Hub installation directory.

Create MinIO data directory

Select a suitable location for the MinIO data to be stored. The recommendation is for this to be a minio directory within the Altair SLC Hub var directory (C:\ProgramData\Altair\SLC Hub by default, but can be set at Hub installation time so may be different). This directory will be referred to as the MinIO data directory or minio-data-directory. Create that directory, and within it, create a directory called slchub as a bucket for Hub to use. That is, assuming the default location for the Hub var directory, there should be a directory created called C:\ProgramData\Altair\SLC Hub\minio\slchub.

Run MinIO as a Windows Service

It is possible to run MinIO as a Windows service using the WinSW service wrapper included with Altair SLC Hub.

To do this, create a file called minio-home\slchub.minio.xml with the following contents:

 
<service>   <id>slchub.minio</id>   <name>Altair SLC Hub MinIO server</name>   <description>MinIO object store for Altair SLC Hub</description>   <env name="MINIO_ROOT_USER" value="minioadmin"/>   <env name="MINIO_ROOT_PASSWORD" value="minio123"/>   <env name="SLCHUB_VAR" value="C:\ProgramData\Altair\SLC Hub\var"/>   <executable>minio-home/minio.exe</executable>   <arguments>server --address 127.0.0.1:8192 --console-address 127.0.0.1:18192  "%SLCHUB_VAR%\minio"</arguments>   <log mode="roll"></log>   <logpath>%SLCHUB_VAR%\log</logpath>   <startmode>Manual</startmode>   </service> 

Substitute minio-home for the appropriate value. It may be necessary to change the location of SLCHUB_VAR, and the values of MINIO_ROOT_USER and MINIO_ROOT_PASSWORD.

Create the service by running

 
[Hub Install Root]\libexec\winsw install <minio-home>\slchub.minio.xml 

The service can then be started with the normal Windows services control panel application.

In the case of error, there will be log files created in the Hub var\log directory called slchub.minio.wrapper.log, slchub.minio.out.log and slchub.minio.err.log.

Verify MinIO Operation

With MinIO running, it should be possible to point a browser at <a href="http://localhost:18192">http://localhost:18192</a> and log on to MinIO with the userid and password configured in the service file (so minioadmin and minio123 in the example above).

Also verify that the slchub bucket exists. If not, use the MinIO interface to create the bucket.

Configure Hub S3 Connection

Create a file [Hub Install Root]/etc/config.d/s3_minio.yaml with these contents (changing the password if necessary):

 
s3:     endpoint: localhost:8192     accessKeyId: minioadmin     secretAccessKey: minio123     bucketName: slchub     insecure: true 

Note

These instructions are only suitable for using MinIO in support of evaluating Altair SLC Hub since they use an insecure connection to MinIO. Consult the MinIO web site for details of how to make the installation of MinIO robust.

Tagged: