Files
sicabe-core/deploy/config/dremio
2026-10-09 02:35:14 +07:00
..
2026-10-09 02:35:14 +07:00

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):

  1. Tunggu Dremio siap.
  2. Buat admin first-run bila belum ada — PUT /apiv2/bootstrap/firstuser (body flat, tanpa auth; 400 = sudah pernah dibuat → dilewati).
  3. Panggil scripts/dremio/register-nessie-source.sh untuk 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)

  1. Buka http://localhost:12947 → buat akun admin pertama (form first-run).
  2. 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).
  • awsRootPath format /bucket/path (TANPA prefix s3://), 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).