Dremio OSS — Konfigurasi deploy/
Dremio ditambahkan sebagai query engine paralel di atas catalog Nessie yang sama dengan Trino & StarRocks (membuktikan dua engine berbagi satu catalog tanpa korupsi metadata).
| Item | Nilai |
|---|---|
| Image | dremio/dremio-oss:${DREMIO_VERSION:-25.2.0} |
| Web UI | http://localhost:${DREMIO_UI_PORT:-12947} |
| JDBC | ${DREMIO_JDBC_PORT:-12010} → container 31010 |
| Arrow Flight | ${DREMIO_FLIGHT_PORT:-12011} → container 32010 |
| Auth | Lokal (bukan OIDC — Dremio OSS tidak menyediakan OIDC) |
| Penyimpanan internal | Volume dremio-data (bukan PostgreSQL) |
First-run & Source Nessie — otomatis via bootstrap.sh (Step 9)
bootstrap.sh Step 9 menangani first-run admin + registrasi source Nessie
secara idempoten (aman diulang):
- Tunggu Dremio siap.
- Buat admin first-run bila belum ada —
PUT /apiv2/bootstrap/firstuser(body flat, tanpa auth;400= sudah pernah dibuat → dilewati). - Panggil
scripts/dremio/register-nessie-source.shuntuk source Nessie.
Kredensial default (override lewat .env):
| Variabel | Default |
|---|---|
DREMIO_USER |
admin |
DREMIO_PASSWORD |
dremio_admin_DevOnly1 |
DREMIO_ADMIN_EMAIL |
admin@sicabe.local |
Jalankan hanya step ini:
cd deploy
./bootstrap.sh --step 9
Manual (alternatif)
- Buka
http://localhost:12947→ buat akun admin pertama (form first-run). - Daftarkan source Nessie lewat script:
cd deploy
set -a; source config/environment.defaults.sh; source .env; set +a
DREMIO_USER=<admin> DREMIO_PASSWORD='<password>' \
./scripts/dremio/register-nessie-source.sh
Script: login (/apiv2/login, header Authorization: _dremio<token>) → cek
existing (/api/v3/catalog/by-path/<name>) → POST /api/v3/catalog
(type=NESSIE). Idempotent (source sudah ada → sukses tanpa buat ulang).
Temuan (diuji 2026-09-10, Dremio OSS 25.2.0): klaim docs bahwa Catalog API "unable to retrieve or manage Nessie sources" (DX-64994) tidak akurat — create dan GET by-path berhasil. Kunci config yang benar:
- JANGAN sertakan
storageType(ditolak:Invalid value found at: storageType).awsRootPathformat/bucket/path(TANPA prefixs3://), mis./iceberg-data/warehouse.credentialType=ACCESS_KEY,awsAccessKey/awsAccessSecret,secure=false.propertyList:fs.s3a.path.style.access=true,fs.s3a.endpoint=minio:9000,dremio.s3.compat=true.
Verifikasi query (data yang sama ditulis Trino):
SELECT * FROM nessie.demo.t ORDER BY id; -- 2 baris: alpha, beta
Alternatif: via UI
Add Source → Nessie dengan field: endpoint http://nessie:19120/api/v2,
Authentication None, Storage AWS S3/MinIO (path-style, endpoint minio:9000),
access key/secret MinIO.
Catatan
- Dua engine berbagi satu Nessie catalog: tulis dari Dremio (CTAS/INSERT) langsung terlihat di Trino dan sebaliknya. Lakukan tulis secara bergantian (bukan simultan) untuk menghindari konflik concurrency Nessie.
- Nessie tidak mendukung Iceberg spec v3 → gunakan
format-version=2. - Referensi:
experiments/nessie-dremio/README.md(H2 terbukti).