Kapatmak için ESC tuşuna basın

MinIO: AWS S3 Uyumlu Açık Kaynak Nesne Depolama Çözümü

Bu yazıda, MinIO’nun ne olduğunu, neden kullanmanız gerektiğini, nasıl kurulacağını ve temel kullanım senaryolarını adım adım açıklayacağız. MinIO, yüksek performanslı bir nesne depolama sunucusu olarak, verilerinizi güvenli bir şekilde yönetmenizi ve depolamanızı sağlar. AWS S3 API’si ile tamamen uyumlu olan MinIO, bulut tabanlı ve yerel depolama çözümleri için mükemmel bir seçenek sunar. Kullanımı kolay olan bu açık kaynaklı çözüm, büyük veri kümelerini yüksek hızda işlemek için optimize edilmiştir. Bu yazıda, MinIO’nun kurulumunu ve kullanımını adım adım öğrenecek, veri depolama ve yönetim süreçlerinizi nasıl optimize edebileceğinizi keşfedeceksiniz.

MinIO Nedir?

MinIO, yüksek performanslı, açık kaynaklı bir nesne depolama sunucusudur. AWS S3 API’si ile uyumlu olan MinIO, bulut tabanlı ve yerel depolama çözümleri için ideal bir tercih sunar. Kullanımı kolaydır ve büyük veri kümelerini yönetmek için mükemmel bir araçtır.

Neden Kullanmalısınız?

MinIO, veri depolama ve yönetimi konusunda esnek ve güçlü bir çözümdür. Özellikle büyük ölçekli verileri yüksek hızda işlemek için optimize edilmiştir. AWS S3 uyumluluğu sayesinde, mevcut S3 tabanlı uygulamalarla sorunsuz bir şekilde entegre edilebilir. Ayrıca, açık kaynaklı olması sayesinde maliyet avantajı sağlar ve topluluk desteğiyle gelişmeye devam eder.

MinIO Kurulumu

MinIO’yu kurmak oldukça basittir. Hem Linux hem de Windows sistemlerde hızlıca kurulum yapabilirsiniz. İşte adım adım kurulum talimatları:

Linux Üzerinde MinIO Kurulumu

Adım 1: Gereksinimleri Karşılayın

64-bit işlemci ve en az 1 GB RAM gerektirir. Ayrıca, sunucunuzda en az 1 GB disk alanı bulunmalıdır.

Adım 2: MinIO’yu İndirin

Terminali açın ve aşağıdaki komutla çalıştırılabilir binary dosyasını indirin.

wget https://dl.min.io/server/minio/release/linux-amd64/minio
Adım 3: MinIO’yu Kuralım

Sırayla aşağıdaki komutları yazarak ilgili klasörlere taşıyalım.

sudo mkdir /opt/minio
sudo mv minio /opt/minio/
sudo chmod +x /opt/minio/minio
sudo mkdir /opt/minio/data
Adım 4: Servis Olarak Ekleyelim

Uygulamayı arkaplanda çalışacak şekilde düzenleyelim. Öncelikle minio.service isimli dosya oluşturalım. Ayrıca Linux’ta Servis (systemd) Oluşturma ve Uygulamayı Başlatma ile ilgili yazımda bununla ilgili daha fazla detay öğrenebilirsiniz.

sudo nano /etc/systemd/system/minio.service

Ardından aşağıdaki verilen içeriği yapıştırın.

INI
[Unit]
Description=Minio
After=network.target

[Service]
ExecStart=/opt/minio/minio server /opt/minio/data
WorkingDirectory=/opt/minio/
Restart=always

[Install]
WantedBy=multi-user.target

Yapıştırdıktan sonra servisi aktif hale getirelim.

sudo systemctl daemon-reload
sudo systemctl enable minio
Adım 4: MinIO’yu Başlatalım
sudo service minio start
sudo service minio status

Windows Üzerinde Kurulumu

Adım 1: MinIO’yu İndirin

Binary dosyasını MinIO resmi sitesi üzerinden indirin.

Adım 2: MinIO’yu Başlatın

Powershell’i açın ve aşağıdaki komutlarla MinIO’yu başlatın.

Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio.exe"
setx MINIO_ROOT_USER admin
setx MINIO_ROOT_PASSWORD password
C:\minio.exe server F:\Data --console-address ":9001"

Eğer bu uygulamayı arkaplanda çalışacak şekilde hazırlamak istiyorsanız NSSM (Non-Sucking Service Manager): Windows Servisi Oluşturun yazımı ziyaret edebilirsiniz.

NodeJS İle Test Örneği

Uygulamanın nodejs üzerinde çalışabilirliğini test etmek için öncelikle proje klasöründe @aws-sdk/client-s3 pakedini kurmalısınız.

npm i --save @aws-sdk/client-s3

Arından app.js adında bir dosya oluşturup gerekli bilgileri girdikten sonra dosya listelemesi yaparak çalışabilirliğini test edin.

JavaScript
const { S3Client, ListObjectsCommand, PutObjectCommand } = require('@aws-sdk/client-s3');



const s3Client = new S3Client({
    endpoint: `http://127.0.0.1:9000`,
    region: 'bayram',
    credentials: {
        accessKeyId: "access_key_id",
        secretAccessKey: "secret_access_key"
    },
    forcePathStyle: true,
});


const listObjects = async () => {
    try {
        const data = await s3Client.send(new ListObjectsCommand({ Bucket: "bayram" }));
        console.log('Success', data);
    } catch (err) {
        console.log('Error', err);
    }
};

listObjects();
Çıktı Sonucu:

Sonuç

MinIO, güçlü ve esnek bir nesne depolama çözümüdür. Yüksek performansı, AWS S3 uyumluluğu ve kolay kullanımı sayesinde, veri depolama ihtiyaçlarınız için mükemmel bir tercih sunar. Bu yazıda MinIO’yu hızlıca kurup kullanmaya başlayabilirsiniz. İyi çalışmalar!

Bayram Alaçam

Merhaba, Ben Bayram Bursa'da yaşıyorum. Geniş Bir deneyime sahip olmakla birlikte, özellikle Javascript alanında uzmanlaştım ve bu alandaki tüm detaylarla ilgileniyorum. Mobil uygulama geliştirme konusunda da derin bir ilgi ve yetenek setine sahibim. Backend, veritabanı yönetimi ve DevOps konularında da deneyimliyim ve her projede güvenilir, ölçeklenebilir çözümler sunabilirim.Yeni teknolojileri öğrenmek benim için bir tutku. Hızla değişen teknoloji dünyasında güncel kalmak ve son trendleri takip etmek benim için önemli bir prensiptir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir