docker compose up
- MinIO Client installieren
curl -O https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/ mc alias set localminio http://127.0.0.1:9000 minioadmin minioadminmc alias set lakefs http://127.0.0.1:8000 AKIAIOSFOLKFSSAMPLES wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY- Überprüfen:
mc alias list
- LakeCtl Client installieren
wget https://github.com/treeverse/lakeFS/releases/download/v1.49.1/lakeFS_1.49.1_Linux_x86_64.tar.gz tar xfvz lakeFS_1.49.1_Linux_x86_64.tar.gz chmod +x lake* sudo cp lakefs /usr/local/bin/ sudo cp lakectl /usr/local/bin/ - Konfiguration von Lakectl
lakectl config- Acces Key:
AKIAIOSFOLKFSSAMPLES - Secure Key:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY - URL:
http://127.0.0.1:8000/api/v1
- Acces Key:
- Testen:
lakectl repo list
- MinIO Bucket erstellen (
mc mb localminio/irisbucket) - LakeFS Repository erstellen (
lakectl repo create lakefs://irisrepo s3://irisbucket) - Create venv and run
python3 get_data.py - Daten uploaden:
mc cp ./data/ lakefs/irisrepo/main/data --recursive - Commit current minio status:
lakectl commit lakefs://irisrepo/main -m "Commit current data version"
- Set mc aliases:
mc alias set remoteminio http://192.168.1.97:9000 minioadmin minioadmin# Note: This needs to be your remote-server IPmc alias set remotelakefs http://192.168.1.97:8000 AKIAIOSFOLKFSSAMPLES wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY# Note: This needs to be your remote-server IP
- Set lakectl config
lakectl config- Acces Key:
AKIAIOSFOLKFSSAMPLES - Secure Key:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY - URL:
http://192.168.1.97:8000/api/v1# Note: This needs to be your remote-server IP Note:
- Acces Key:
- For mc mb ... commands you need to use "remoteminio" instead of "localminio" and "remotelakefs" instead of "lakefs"
- for lakectl commands, since this is configured to be the remote, use lakefs://... and s3://...
3. Usage (lakefs local siehe: https://docs.lakefs.io/quickstart/work-with-data-locally.html oder https://docs.lakefs.io/howto/local-checkouts.html)
- Create Branch:
lakectl branch create lakefs://repo-name/dev --source lakefs://repo-name/main - minio in DNS hinzufügen (um Fehler bei der DNS Auflösung zu vermeiden)
sudo nano /etc/hosts--> Zeile hinzufügen für127.0.0.0 minio# Note: for remote server usage use the remote server IP adress here - Git Repo erstellen (falls der Ordner nicht sowieso schon teil eines git Projekts ist):
git init - Zielordner für das Kopieren der Daten erstellen
mkdir data - Clone Data to local folder, also adds the data to the .gitignore. Note: The Project must be git tracked!
lakectl local clone lakefs://repo-name/dev/data/ data - (for later update use
lakectl local checkout) - ... process_data.py
lakectl local status data/shows the changes- commit and push to lakefs
lakectl local commit -m "resizing all data" data - merge back to main branch
lakectl merge lakefs://repo-name/dev/ lakefs://repo-name/main - handle git
git add .+git commit -m "first change"+git push
Further Commands: https://docs.lakefs.io/reference/cli.html
lakectl local listin git repo root shows the directory that is synced with lakeFSlakectl local init lakefs://repo-name/main/test nameofnewfolder/to link a new local folder to lakefs
git checkout $commitId