일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- EC2
- JavaScript
- java
- AWS
- jvm
- Packet
- kubeadm
- docker
- kubectl
- Python
- Vision
- MAC address
- OS
- grafana
- PostgreSQL
- helm
- Operating System
- zookeeper
- kubernetes
- airflow
- CSV
- Trino
- Network
- tcp
- CVAT
- aws s3
- Kafka
- log
- Spring
- ip
Archives
- Today
- Total
JUST WRITE
What is MinIO? 본문
What is MinIO
MinIO는 분산 Object Storage이다.
Open Source로 Private Cloud에 적합한 S3 성격의 Storage이다.
Go 언어로 개발되었으며 Docker Image도 1억건 이상 pull한 유명한 Storage이다.
사진, 비디오, Log 등 비정형화된 데이터 저장에 적합하다.
특징
- S3 API 호환
- Erasure Coding을 통한 보안성 강화
- Kubernetes 환경에서 설치 가능
- Horizontal and Vertical scaling
- MinIO Console이라는 Web UI 제공
- High availability(고가용성)
MinIO 설치
MinIO Server 설치
Standalone 환경에서 설치를 진행하였다.
MinIO User를 먼저 생성합니다.
groupadd minio
useradd -m -g minio minio
passwd minio
MinIO Server를 Download합니다.
su minio
cd ~
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
# ~/.local/bin 폴더로 이동
mkdir -p ~/.local/bin
mv minio ~/.local/bin
MinIO storage 폴더와 설정파일을 세팅합니다.
# Storage 및 설정 폴더 생성
mkdir -p ~/minio/data
mkdir -p ~/minio/conf
# 설정파일 생성
vi ~/minio/conf/minio
# ~/minio/conf/mino 파일
MINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/home/minio/minio/data"
MINIO_OPTS="-C /home/minio/minio/conf --address :9000 --console-address :9001"
MINIO_SECRET_KEY="secret-key"
설정 파일에 세팅하는 값은 아래와 같다.
- MINIO_ACCESS_KEY -> MinIO에 접근할 수 있는 access-key
- MINIO_VOLUMES -> MinIO Storage 폴더 경로
- MINIO_OPTS -> MinIO 실행 옵션
- -C -> MinIO 설정 폴더 경로
- --address -> MinIO Server IP, Port 설정
- --console-address -> MinIO Console UI IP, Port 설정
- MINIO_SECRET_KEY -> MinIO에 접근할 수 있는 secret-key
MinIO Service 파일을 생성한다.
sudo vi /etc/systemd/system/minio.service
# minio.service 파일
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/home/minio/.local/bin/minio
[Service]
User=minio
Group=minio
ProtectProc=invisible
EnvironmentFile=/home/minio/minio/conf/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /home/minio/minio/conf/minio\"; exit 1; fi"
ExecStart=/home/minio/.local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
Service 생성 후 Service를 실행한다.
sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio
sudo systemctl status minio
# minio service status
● minio.service - MinIO
Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2022-10-20 06:52:28 UTC; 12min ago
Docs: https://docs.min.io
Process: 832 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /home/minio/minio/conf/minio"; exit 1; fi (code=exited, status=0/SUCCESS)
Main PID: 834 (minio)
CGroup: /system.slice/minio.service
└─834 /home/minio/.local/bin/minio server -C /home/minio/minio/conf --address :9000 --console-address :9001 /home/minio/minio/data
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: MinIO Object Storage Server
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Copyright: 2015-2022 MinIO, Inc.
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Version: RELEASE.2022-10-15T19-57-03Z (go1.18.7 linux/amd64)
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Status: 1 Online, 0 Offline.
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: API: http://172.31.26.44:9000 http://127.0.0.1:9000
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Console: http://172.31.26.44:9001 http://127.0.0.1:9001
Oct 20 06:52:28 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Documentation: https://min.io/docs/minio/linux/index.html
Oct 20 06:52:29 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: You are running an older version of MinIO released 4 days ago
Oct 20 06:52:29 ip-172-31-26-44.ap-northeast-2.compute.internal minio[834]: Update: Run `mc admin update`
MinIO 실행시 설정한 Console IP, Port로 들어가본다.
예시에서는 9001포트로 Console Web UI를 실행하였다.
Username에는 ACCESS-KEY, Password에는 SCRET-KEY를 입력해서 로그인한다.
정상적으로 설치된 것을 확인할 수 있다.
728x90
반응형
'Data' 카테고리의 다른 글
AWS EC2 Nifi 설치 (0) | 2022.11.23 |
---|---|
What is Nifi (0) | 2022.11.21 |
What is YARN (0) | 2022.03.27 |
What is MapReduce (0) | 2022.03.26 |
What is HDFS (0) | 2022.03.25 |
Comments